เรื่องการ Select SQL ครับ
(http://image.ohozaa.com/i/g42/7nRYZI.gif)
ตามภาพ คือผมจะจัดกลุ่ม col2 แล้วเอาทุกคอลัมน์มาแสดงภายใต้ col2 ควร select แบบไหนดีครับ
(รบกวนอีกแล้ว :'()
ใช้ GROUP BY ฮะ
ข้อมูลในคอลัมน์ col2 มีหลายร้อย row ครับ ที่ไม่ซ้ำกัน ง่ายๆ คือเป็น category ซึ่งมีหลายร้อย category จะเอามาจัดกลุ่มตาม category ครับ จะเขียนคำสั่งยังไงให้ไม่ต้องมา group by ทีละอัน
ใช้คำสั่ง DISTINCT (คำสั่งใน mysql สำหรับเลือกค่าที่ซ้ำกันมาอันเดียว)
เช่น SELECT DISTINCT col2 FROM [Table-Name] WHERE เงื่อนไขอื่น ๆ ถ้ามี
ก็จะได้ data1-data4
หลังจากที่ได้ข้อมูลมาแล้วก็เอาข้อมูลที่ได้ไป วนลูป ข้อมูลทั้งหมดออกมาแสดงตามลำดับครับ (ในที่นี่อาจจะวนลูบ 4 รอบเลยทีเดียว)
เช่น SELECT * FROM [table-name] WHERE col2 = [record ที่ได้จากคำสั่ง distinct]
** ถ้าไม่อยากให้ server ทำงานหนักก้อเก็บข้อมูลทั้งหมดลง array แล้ววนลูบใน array แทน วนลูป จากฐานข้อมูลโดยตรงครับ
รันในเบส บน lan หรือรันบนเว็บล่ะ บางทีผมเขียนไม่เหมือนกัน
อ้างถึงจาก: technoclip ใน 04 มีนาคม 2014, 21:59:07
ใช้คำสั่ง DISTINCT (คำสั่งใน mysql สำหรับเลือกค่าที่ซ้ำกันมาอันเดียว)
เช่น SELECT DISTINCT col2 FROM [Table-Name] WHERE เงื่อนไขอื่น ๆ ถ้ามี
ก็จะได้ data1-data4
หลังจากที่ได้ข้อมูลมาแล้วก็เอาข้อมูลที่ได้ไป วนลูป ข้อมูลทั้งหมดออกมาแสดงตามลำดับครับ (ในที่นี่อาจจะวนลูบ 4 รอบเลยทีเดียว)
เช่น SELECT * FROM [table-name] WHERE col2 = [record ที่ได้จากคำสั่ง distinct]
** ถ้าไม่อยากให้ server ทำงานหนักก้อเก็บข้อมูลทั้งหมดลง array แล้ววนลูบใน array แทน วนลูป จากฐานข้อมูลโดยตรงครับ
ขอบคุณครับ
อ้างถึงจาก: kobkung ใน 05 มีนาคม 2014, 03:05:05
รันในเบส บน lan หรือรันบนเว็บล่ะ บางทีผมเขียนไม่เหมือนกัน
รันบนเว็บครับ