我正在尝试下面的代码
SELECT Sum(Price) FROM Faktor WHERE date=date
但它显示了所有价格的总和。我希望显示每天的总和,如:
date ----- sum
2015/5/1 12345
2015/5/2 54124
我也试过下面的代码,但得到错误:
SELECT date,Sum(Price) FROM Faktor WHERE date=date
[Err] 42000 - [SQL Server]列'Faktor.date'无效 选择列表,因为它不包含在聚合中 函数或GROUP BY子句。
答案 0 :(得分:3)
正如错误消息告诉您的那样,您需要使用group by
子句,并且 date 列必须在其中。
SELECT date, SUM(Price)
FROM Faktor
WHERE date=date -- this looks a bit odd... maybe you want a range of dates or something?
GROUP BY date
使用SQL Server需要对select语句中的所有非聚合列进行分组(例如,与某些版本的MySQL不同)。
答案 1 :(得分:3)
尝试
SELECT [date],SUM([Price])
FROM Faktor
GROUP BY [date]
不确定为什么要使用date = date,所以我把它留了出来。
答案 2 :(得分:1)
SELECT
date
,SUM(Price)
FROM
Faktor
WHERE
--add date rules here if you have date criteria i.e. date >= 'someDate'
GROUP BY
date