2010-05-13 19 views
72

Bir SELECT sorgusu atladığında ilk 10 sonuca sahip olmak için MySQL'te bir yol var mı? LIMIT gibi bir şey çalışmasını istiyorum.MySQL atla ilk 10 sonuç

+6

Tüm yanıtların burada bir ORDER BY yan tümcesi eksik. SQL tabloları, varsayılan bir sipariş yok ve açık bir SİPARİŞ BY olmadan, – fthiella

cevap

5

LIMIT, herhangi bir sayıda satırı atlamanıza izin verir. Bu iki parametresi vardır ve bunların birinci - manual itibaren

+0

atlamak için ilk 10 sonuç olduğunu söylemek için bir yolu yoktur Bu bana "Ofset" teşekkürler @Col. Shrapnel –

24

atlamak için kaç satırlar:

belli dan tüm satırları almak için sonuç kümesinin sonunda yapabilecekleriniz kadar ofset ikinci parametre için büyük bir sayı kullanın. Bu ifade son için 96 satırdan tüm satırları alır:

SELECT * FROM tbl LIMIT 95,18446744073709551615; 

Açıkçası, 10 tarafından 95 değiştirmelisiniz. Kullandıkları büyük sayı 2^64 - 1, bu arada.

+5

18446744073709551615'den fazla kayıt var mı? :-) – ceejayoz

+1

1byte her, bir süre bekleyebiliriz: P ~ 18pB ... – Kurru

+18

@ceejayoz: O zaman gelecekte en az 50 yıldan beri bir makineniz var ve muhtemelen MySQL sorgularını programlamayacaksınız: P – Thomas

89

İki parametre ile LIMIT kullanın. (Sonuç 1 ilk satır olduğu), örneğin, sonuç 11-60 dönmek için de kullanılır:

SELECT * FROM foo LIMIT 10, 50 

bir çözelti için Thomas' answer bkz Sonuçları dönün.

+0

Bazı satırlar, belirttiğiniz numara arasında silinirse. –

61

yoktur bir yanı hile yapması gerektiğini OFFSET:

SELECT column FROM table 
LIMIT 10 OFFSET 10 
+1

Postgres ile birlikte çalışır –

+0

, limit 10,10'dan daha kolay – shellbye

20

OFFSET aradığınız budur. id Tablonuzdaki anahtarı

SELECT * FROM table LIMIT 10 OFFSET 10 
1
select * from table where id not in (select id from table limit 10) 

.

+0

verimlilik artışı yok – Isaac

+0

Bu, ofset sınırının her zaman arzu edilmeyen bir düzen argümanı gerektirdiği impala ve diğer veritabanları için yararlı ve hızlıdır . –

+0

Bu, sorulan soruya gerçekten ulaşan tek cevaptır. İlk 10'dan sonra TÜM sonuçları alır - mükemmel. Upvoted. – benjaminhull