0
|
Kevin Howard Goldberg · 技术社区 · 7 年前 |
![]() |
1
1
在支持“窗口功能”的数据库版本中,可以通过使用 ROW_NUMBER() OVER()和所需的排序在OVER子句中应用,如下所示(使用Mariadb 10.2):
请注意,您必须通过row_number()的别名进行过滤,因此您需要一个子查询构造,如上文所示。
id | contact_id | description | is_open | create_date_time | name | rn -: | ---------: | :---------- | ------: | :------------------ | :---- | -: 9 | 1 | Food | 0 | 2017-07-09 00:00:00 | Jim | 1 3 | 2 | Groceries | 1 | 2017-05-06 00:00:00 | Jane | 1 6 | 3 | Food | 1 | 2017-05-06 00:00:00 | Roger | 1 5 | 4 | Toys | 1 | 2017-04-04 00:00:00 | Alice | 1 D小提琴 here 对于不支持ROW_NUMBER()的MySQL或Mariadb版本,请尝试以下方法 使用变量模拟row_number()的效果(并获得相同的结果):
; 有关此方法,请参阅: http://sqlfiddle.com/#!9/bfa9809/1 |
![]() |
John Smith · Java按值对映射进行分组,其中值为列表 2 年前 |
![]() |
The Great · 拆分并存储数据帧,但名称基于特定列中的唯一值 2 年前 |
![]() |
Flo · 分组依据中的SQL大小写 2 年前 |
![]() |
user13663655 · 我可以使用条件分组并返回源类型值吗 2 年前 |
![]() |
pinkiBet · 使用MAX和UNION分组,还是加入? 2 年前 |
![]() |
lugger1 · 如何获取Postgres中时间间隔的平均值 6 年前 |