Domanda

Qual è l'equivalente di SQL Server TOP o DB2 FETCH FIRST o MySQL LIMIT in PostgreSQL?

È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top