Sto cercando qualcosa di simile questo in SQL Server:PostgreSQL equivalente per TOP n WITH TIES: LIMIT "with tie"?
SELECT TOP n WITH TIES FROM tablename
so su LIMIT
in PostgreSQL, ma fa l'equivalente della esistere sopra? Sono solo curioso perché salverà ogni volta una query in più per me.
Se ho un tavolo Numbers
con attributo nums
: {10, 9, 8, 8, 2}
. Voglio fare qualcosa di simile:
SELECT nums FROM Numbers ORDER BY nums DESC LIMIT *with ties* 3
Dovrebbe restituire {10, 9, 8, 8}
perché prende i primi 3 più il più 8
in quanto si lega l'altra.
Perchè questo complicato? La funzione rank() farà esattamente ciò che è richiesto? –
@a_horse_with_no_name: hai assolutamente ragione (come ero io all'inizio). Le mie seconde considerazioni non sono state accettate. –
@Erwin: che bello (http://data.stackexchange.com/stackoverflow/query/63525/top-n-with-ties), non sapevo che StackOverflow ha un modulo integrato per eseguire query :-) Anche se l'output di 10,10,9 per 10,9,8,8,2,10 non è corretto se è necessario ottenere i primi 3 (10,9,8) ed elencare tutti quei 10,9,8; che dovrebbe essere: 10,10,9,8,8. 'WITH TIES' potrebbe non essere corretto per alcuni casi problematici: http://stackoverflow.com/questions/2611822/distinct-with-count-and-sql-server-2005/2612456#2612456 –