customer price date
123 100 1-Jan-15
321 200 2-Jan-15
123 10 3-Jan-15
123 50 4-Jan-15
321 150 5-Jan-15
123 100 6-Jan-15
123 300 7-Jan-15
321 500 8-Jan-15
123 700 9-Jan-15
Run Code Online (Sandbox Code Playgroud)
我想按客户查看 1 月 3 日和 1 月 7 日日期之间的 SUM(Price)
就像是:
select customer,sum(price) from table group by customer
having date between 3-Jan-2015 and 8-Jan-2015
Run Code Online (Sandbox Code Playgroud)
这提示我date在selectorgroup by子句中有一个。当我包含它时,它也按日期分组。
期望的输出是:
123 460
Run Code Online (Sandbox Code Playgroud)
该HAVING子句在分组和聚合之后过滤结果,因此为了执行此操作,您需要在HAVING子句中的任何字段都必须在GROUP BYorSELECT列表中。该WHERE子句在进行分组和聚合之前过滤行。
To get the results you want, simply move the date between... condition into a WHERE clause:
SELECT customer,SUM(price)
FROM table
WHERE date BETWEEN 3-Jan-2015 AND 8-Jan-2015
GROUP BY customer
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6513 次 |
| 最近记录: |