Eu tenho uma tabela com dados como abaixo:
| ID(pk) | name | count |
|--------|------|-------|
| id1 | xyz | 98 |
| id2 | ptr | 5 |
| id3 | xyz | 2 |
| id4 | de | 1 |
| id5 | ptr | 1 |
Quero primeiro ter a linha com contagem máxima e depois todas as linhas com o mesmo nome classificadas por contagem. Depois dessa próxima contagem máxima e todas as contagens com o mesmo nome. Algo como abaixo:
| ID(pk) | name | count |
|--------|------|-------|
| id1 | xyz | 98 |
| id3 | xyz | 2 |
| id2 | ptr | 5 |
| id5 | ptr | 1 |
| id4 | de | 1 |
Algo assim é possível no Postgres?
Parece que você deseja primeiro ordenar pela contagem máxima para o mesmo nome - o que pode ser alcançado com uma função básica de janela .
violino
Notavelmente, a função window também funciona na
ORDER BY
cláusula conforme demonstrado.