GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ถามเรื่อง Mysql ครับ

คือผมต้องการดึงข้อมูลออกจากฐานข้อมูลน่ะคับ  โดยใช้คำสั่ง order by id DESC LIMIT 0,10

สมมุตว่าผมมีข้อมูลอยู่ 50id  ถ้าผมใช้คำสั่งด้านบนมันก็จะดึงข้อมูล ตั้งแต่ id ที่ 50(id ที่มีการ insert ล่าสุด) ถึง id ที่ 41

คือที่ผมอยากถามตรงที่ว่า  แล้วถ้าผมจะดึงข้อมูลตั้งแต่ id ที่มีการ insert ล่าสุด ไล่ลงไป 10 id 

แต่ให้มันดึงข้อมูลตั้งแต่ id น้อยไปมาก นั่นก็คือให้มันเรียง id41 - 50  งงมั๊ยอ่ะครับ

สมมุตผม insert ข้อมูลลงไปอีก เป็น 75 id ขอบข่ายที่ผมจะดึงข้อมูลออกมาก็อยู่ระว่าง id 66 - ถึง id ล่าสุด นั่นก็คือ 75

โดยดึงจาก 66 มาก่อนแล้วก็ไล่ไปจนถึง 75 ถ้าผม insert ไปอีกเป็น 76id ก็จะไล่ตั้งแต่ 67 - 76  ต้องใช้คำสั่ง mysql ยังไงอ่าครับ

ขอบคุณครับ

01 ต.ค. 2552 2 2,172

mySQL ไม่มีคำสั่งแบบนั้นหรอกครับ ถ้าจะอ่าน id ล่าสุด ก็อ่านจาก MAX แหละครับ แต่ถ้า insert ทีละหลาย record ละก็ แนะนำให้ อ่าน id ล่าสุดออกมาก่อน แล้วถึงค่อย insert ครับ จะได้รู้ id เริ่มต้น ส่วน id สุดท้ายก็อ่านหลังจาก insert แล้ว ครับ
#1

ขอเพิ่มครับ
พอได้ค่า MAX แล้ว ลดค่าลงไปตามที่ต้องการ เช่น จาก 76 ลดไป 10 ก็เหลือ 66
แล้วก็ใช้เงื่อนไข เดียวกันกับตอนต้นแต่ไม่ต้องมี  DESC คือ
order by id LIMIT 66,10 // หมายความว่า ให้เริ่มแสดง record หลังจาก id ที่ 66 ไปอีก 10 record  ได้แก่
id 67
.
.
.
id 76
ครับผม
แต่ต้องเริ่มจากค่า MAX เสียก่อน
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^