Browsing articles tagged with " query"
May 25, 2011
แว่นตก

วิธีการ Query เพิ่ม ลด วันเวลา

ในการทำงานบางครั้งเราจำเป็นที่จะต้อง query db โดยการเพิ่มหรือลด วันเวลา

สมมุติว่า

” เราต้องการจะได้ทราบว่า banner ของเวปเราที่จะหมดอายุในอีก 7 วันข้างหน้า มี banner อะไรบ้าง ”

เราก็จะสามารถเขียน query ได้ดังนี้

Continue reading »

May 25, 2011
แว่นตก

Query แบบมีเงื่อนไข

สมมุติว่า เราต้องการค้นหาข้อมูล บทความ
ซึ่งถ้าบทความนั้นผ่านให้ เรียก ฟิวด์ อนุมัติโดยใคร มาแสดง
และถ้าบทความนั้นไม่ผ่านให้ เรียก ฟิวด์ ไม่อนุมัติโดยใคร มาแสดง

วิธีการ Query คือ

1
2
3
4
SELECT 
IF(type=='Y',approveby,nonapproveby)  AS name , topic 
FROM article  
LIMIT 0,10

หรืออีกวิธีหนึ่ง

1
2
3
4
5
6
SELECT
CASE WHEN (type=='Y') THEN approveby
         WHEN (type=='N') THEN nonapproveby
END AS name , topic
FROM article  
LIMIT 0,10

 

(วิธีที่สอง สามารถที่จะให้มีเงื่อนไขได้มากกว่้า 2 เงื่อนไข)

 

May 25, 2011
แว่นตก

Distinct กับ Group by

DISTINCT เป็นคำสั่งที่ใช้หาข้อมูลที่ไม่ซ้ำออกมา ซึ่งถ้าข้อมูลซ้ำกันจะเลือกมาแค่ Record เดียว

1
2
3
SELECT DISTINCT(member_id) 
FROM member
LIMIT 0,10

GROUP BY เป็นคำสั่งที่มักจะใช้รวมกับ SUM เพื่อใช้ในการหาผลรวมของข้อมูล แต่ก็สามารถนำมาประยุกต์ เพื่อใช้ในการข้อมูลที่ไม่ซ้ำได้เหมือนกัน

1
2
3
4
SELECT member_id 
FROM member 
GROUP BY member_id
LIMIT 0,10

เรื่องที่จะบอกก็คือ
DISTINCT กับ GROUP BY ผลลัพธ์ของข้อมูลได้เหมือนกัน แต่ความเร็วในการ Query ต่างกันมาก กับข้อมูลมาก ๆ เพราะฉะนั้นมาเปลี่ยนมาใช้ GROUP BY ดีกว่า เพื่อความเร็วของ program และ db admin จะได้ไม่บ่น