Comment afficher les numéros de ligne dans la requête PostgreSQL?
j'aimerais montrer le numéro d'observation pour chaque enregistrement retourné par une requête PostgreSQL.
je pense que dans 8.4 fonctions de fenêtrage peut effectuer cette capacité.
61
demandé sur
sclv
2010-08-03 17:49:32
3 réponses
select row_number() over (order by <field> nulls last) as rownum, *
from foo_tbl
order by <field>
Si l'ordre n'est pas nécessaire, cette réponse peut également être simplifiée:
select row_number() over(), * -- notice: no fields are needed
from foo_tbl
92
répondu
vol7ron
2014-02-28 18:43:32
pour les versions antérieures à 8.4:
SELECT count(*) rownum, foo.*
FROM datatable foo
JOIN datatable bar
ON (foo.pk_id < bar.pk_id)
GROUP BY foo.pk_id, foo.a, foo.b
ORDER BY rownum
;
-- if there isn't a single unique/primary key field, you can concatenate fields
-- Example: ON (foo.a||foo.b||foo.c < bar.a||bar.b||bar.c)
J'espère que ça aidera quelqu'un.
5
répondu
vol7ron
2010-08-03 23:12:24
Juste interrogeant sans *
affichera le nombre total de lignes retournées.
select from table_name ...;
0
répondu
Vikram S
2018-10-03 06:54:10