2011-09-20 78 views

回答

1

試加GROUP BY

SELECT sum(a) as car,b,c FROM toys 
GROUP BY b, c 
+0

分組工作,但如果我在最後使用Where子句會發生什麼? – tdjfdjdj

+2

你不在末尾添加where子句,你在where子句中添加了它應該被添加的地方 –

+0

where子句在group by之前發生,沒有什麼不好會發生resultset將被過濾,sum將被評估。 – skazska

0
SELECT b, 
c, 
(SELECT sum(a) FROM toys) as 'car' 
FROM toys 
+0

會發生什麼,如果我的列B和C是基於地方取出了條件? –

0

既然你不給多的情況下,我認爲你的意思是下列之一:

SELECT (SELECT SUM(a) FROM Toys) as 'car', b, c FROM Toys; 

SELECT SUM(a) as Car, b, c FROM Toys GROUP BY b, c; 
+0

分組工作,但如果我添加where子句,該怎麼辦? – tdjfdjdj

+1

你是什麼意思? YOu必須將它粘在玩具和GROUP之間,如:SELECT ... FROM玩具WHERE .... GROUP BY b,c; –

+0

我想@tdjfdjdj正在談論第一個例子.. 你會最終在它使用兩個where子句..! –

0

如何:

select sum(a) over(), b, c from toy; 

,或者如果它是必需的:

select sum(a) over(partition by b), b, c from toy;