【发布时间】:2019-08-27 20:35:13
【问题描述】:
假设我有一个简单的表:
Date Price
-----------------------
2012-01-05 23
2015-04-08 145
2016-03-09 12
2015-09-09 87
2000-01-15 23
2016-01-15 89
2016-07-12 23
2012-04-08 65
我想按年份对这些行进行分组,但不使用 GROUP BY 子句。如果我可以添加另一个包含年份或表示组的字符的列,那就太好了,如下所示:
Date Price Group
-------------------------------
2012-01-05 23 1
2015-04-08 145 2
2016-03-09 12 3
2015-09-09 87 2
2000-01-15 23 4
2016-01-15 89 3
2016-07-12 23 3
2012-04-08 65 1
我尝试过使用 over() 子句,但老实说,我不知道哪个函数与 over() 一起使用。
【问题讨论】:
-
select *, extract(year from Date) as Group from table;? -
Ehhh 我很尴尬,因为它很棒,所以......简单;s
-
一般来说 PostgreSQL 和 TSQL 标签是不兼容的。您是否需要适用于两者的解决方案?
-
不,谢谢。我已经处理过了。
标签: postgresql tsql grouping window-functions