我想按年份对一组日期记录进行分组,日期为当天。就像是:
SELECT venue, YEAR(date) AS yr, SUM(guests) AS yr_guests
FROM Events
...
GROUP BY venue, YEAR(date);
以上是给我结果而不是错误,但结果没有按年份和地点分组;他们似乎根本没有分组。
我的强力解决方案是嵌套子查询:将 YEAR() AS yr 添加为子查询中的额外列,然后在外部查询中对 yr 进行分组。我只是想学习尽可能多地不嵌套,因为嵌套通常看起来非常低效。
我会告诉你我正在使用的确切的 SQL 实现,但我很难发现它。(我正在解决http://www.sql-ex.ru/上的问题,如果你能说出他们在使用什么,我很想知道。)编辑添加:每个测试在评论中,它可能不是 SQL Server。
编辑添加我得到的结果(注意前两个应该相加):
venue | yr | yr_guests
1 2012 15
1 2012 35
2 2012 12
1 2008 15
我希望前两行改为总结为
1 2012 50