gpt4 book ai didi

postgresql - 如何在不使用 GROUP BY 子句的情况下对行进行分组

转载 作者:行者123 更新时间:2023-11-29 14:26:09 25 4
gpt4 key购买 nike

假设我有一个简单的表:

   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() 一起使用。

最佳答案

从日期中提取年份和 dense_rank 的组合就可以了

select *,
dense_rank () OVER(order by extract(year from Date))
from YOURTABLE

关于postgresql - 如何在不使用 GROUP BY 子句的情况下对行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57681901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com