我有一张包含如下数据的表格:
| ID(pk) | name | count |
|--------|------|-------|
| id1 | xyz | 98 |
| id2 | ptr | 5 |
| id3 | xyz | 2 |
| id4 | de | 1 |
| id5 | ptr | 1 |
我希望首先获得计数最大的行,然后按计数对所有同名的行进行排序。然后是下一个最大计数和所有同名的计数。如下所示:
| ID(pk) | name | count |
|--------|------|-------|
| id1 | xyz | 98 |
| id3 | xyz | 2 |
| id2 | ptr | 5 |
| id5 | ptr | 1 |
| id4 | de | 1 |
在 Postgres 中可能发生这样的事情吗?
似乎您想首先按同名的最大计数进行排序 - 这可以通过基本窗口函数实现。
小提琴
值得注意的是,正如所演示的,窗口函数在该
ORDER BY
子句中也起作用。