[英]Group By with date column in the having clause
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
我想按照客户的要求,在3月1日至7月1日期间看到SUM(价格)
就像是:
select customer,sum(price) from table group by customer
having date between 3-Jan-2015 and 8-Jan-2015
这提示我在select
或group by
子句中有date
。 当我包含它时,它也按日期分组。
期望的输出是:
123 460
HAVING
子句在分组和聚合之后过滤结果,因此为了做到这一点, HAVING
子句中所需的任何字段必须位于GROUP BY
或SELECT
列表中。 WHERE
子句在执行分组和聚合之前过滤行。
要获得所需的结果,只需将date between...
的date between...
移动到WHERE
子句中:
SELECT customer,SUM(price)
FROM table
WHERE date BETWEEN 3-Jan-2015 AND 8-Jan-2015
GROUP BY customer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.