linux user group brescia

immagine del castello

Archivio della mailing list

microsoft sql server 2005

Francesco Abeni francesco a gibilogic.com
Ven 6 Giu 2008 12:39:25 UTC
marco ghidinelli ha scritto:
> sono incredibilmente disgustato e sconcertato da quanto ho appena
> scoperto:
> 
> con microsoft sql non e' possibile fare una query del tipo:
> 
> SELECT campo FROM tabella order by id LIMIT 20,10
> 
> per ottenere i record compresi tra 20 e 30.
> 
> l'unica soluzione possibile e' quella di fare una 
> 
> select * from (
>   select top 10 campo from (
>     select top 30 campo from tabella order by id
>   ) as nuovatabella order by id desc
> ) as nuovatabella2 order by id asc

In effetti confermo che Microsoft SQL Server non supporta il LIMIT. Però 
se non mi sbaglio - non è che io lavori tanto con MS SQL - nella 
soluzione che riporti c'è un SELECT di troppo: per ricreare la query che 
hai riportato in alto dovrebbe essere sufficiente

SELECT TOP 10 campo FROM (
    SELECT TOP 30 campo FROM tabella ORDER BY id
) ORDER BY id DESC


Visto che ho qua accanto un test di MS SQL magari dopo ci faccio una prova.

--
Francesco Abeni




Maggiori informazioni sulla lista Lug