在1选择语句中选择总和和多列

问题描述:

有没有办法在SQL中同时选择列和其他列的总和?在1选择语句中选择总和和多列

例子:

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

试加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

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

会发生什么,如果我的列B和C是基于地方取出了条件? –

既然你不给多的情况下,我认为你的意思是下列之一:

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子句..! –

如何:

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

,或者如果它是必需的:

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