Come limitare le righe in PostgreSQL SELECT
-
16-09-2019 - |
Domanda
Qual è l'equivalente di SQL Server TOP
o DB2 FETCH FIRST
o MySQL LIMIT
in PostgreSQL?
Soluzione
È possibile utilizzare LIMITE proprio come in MySQL, per esempio:
SELECT * FROM users LIMIT 5;
Altri suggerimenti
Si può sempre aggiungere la clausola OFFSET
con clausola di LIMIT
.
Potrebbe essere necessario prendere una serie di record da un particolare offset. Ecco un esempio che raccoglie 3 record a partire dal 3 °:
testdb=# SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
Questo dovrebbe produrre il seguente risultato:
id | name | age | address | salary
----+-------+-----+-----------+--------
3 | Teddy | 23 | Norway | 20000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
spiegazione completa e più esempi controllare qui
Utilizza il href="http://www.postgresql.org/docs/8.4/static/sql-select.html#SQL-LIMIT" rel="nofollow noreferrer"> LIMIT
clausola
Oltre al limite potresti usare anche Fetch First.La tua domanda aveva già la risposta
Select * from users FETCH FIRST 5 ROWS ONLY
In PostgreSQL, ci sono due modi per raggiungere questo obiettivo.
SQL standard
La prima opzione è quella di utilizzare lo SQL: 2008 modo standard di limitare un set di risultati utilizzando la sintassi FETCH FIRST N ROWS ONLY
:
SELECT
title
FROM
post
ORDER BY
id DESC
FETCH FIRST 50 ROWS ONLY
Lo SQL: 2008. Sintassi standard è supportato dal PostgreSQL 8.4
PostgreSQL 8.3 o più anziani
Per PostgreSQL 8.3 o versioni precedenti, è necessario la clausola LIMIT per limitare la dimensione del set di risultati:
SELECT
title
FROM
post
ORDER BY
id DESC
LIMIT 50
Per ulteriori dettagli su questo argomento, consulta questo articolo .