SORU
7 EKİM 2010, PERŞEMBE


DB2 için SINIR eşdeğer

Nasıl iSeries için DB2 LIMIT yapmak mı?

50.000 ' den fazla kayıtları ile bir tablo var ve kayıtları 10,000 ve kayıtları 10.000 ile 20.000 0 dönmek istiyorum.

SQL sana 10000 20.000 0 10.000 ve sorgu sonunda LIMIT 10000,10000 için sorgu sonunda LIMIT 0,10000 yazma biliyorum

Bu nasıl DB2 yapılır? Kod ve sözdizimi nedir? (tam bir sorgu örneği, takdir edilir)

CEVAP
7 EKİM 2010, PERŞEMBE


FETCH FIRST [n] ROWS ONLY kullanarak:

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.perf/db2z_fetchfirstnrows.htm

SELECT LASTNAME, FIRSTNAME, EMPNO, SALARY
  FROM EMP
  ORDER BY SALARY DESC
  FETCH FIRST 20 ROWS ONLY;

Aralıkları için ROW_NUMBER() (v5r4 beri) ve WHERE tümce içinde kullanmak zorundasın: (buradan çalıntı: http://www.justskins.com/forums/db2-select-how-to-123209.html)

SELECT code, name, address
FROM ( 
  SELECT row_number() OVER ( ORDER BY code ) AS rid, code, name, address
  FROM contacts
  WHERE name LIKE '%Bob%' 
  ) AS t
WHERE t.rid BETWEEN 20 AND 25;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ipsy

    ipsy

    1 EKİM 2012
  • Moodle

    Moodle

    11 Mayıs 2010
  • Tinkernut

    Tinkernut

    28 Aralık 2006