ThaiPBL.com

PowerBuilder Library Thailand

อีเมล พิมพ์ PDF

Distinct

ลองศึกษาดูนะครับอาจจะพอมีประโยชน์บ้างนะครับ

 

id date name wrong penalty sex
12589 10/01/1998 มานพ ศรีสุข หนีเรียน ตักเตือน ชาย
14263 15/01/1998 ภาณุมาส ใจจริง หนีเรียน ตักเตือน ชาย
10256 16/01/1998 สมชาย ใจดี ไม่เข้าแถว ตักเตือน ชาย
10256 17/01/1998 สมชาย ใจดี ไม่เข้าแถว ตักเตือน ชาย
14263 18/01/1998 ภาณุมาส ใจจริง หนีเรียน ตักเตือน ชาย

    จากตารางตัวอย่างด้านบนเมื่อเราต้องการทำการ group ตามคอลัมน์ wrong และตามคอลัมน์ sex และต้องการรายงานแค่ว่ามีจำนวนนักเรียนที่ทำผิดแต่ละรายการกี่คน ซึ่งผลลัพธ์ควรจะได้ดังนี้

หนีเรียน 2 คน
ไม่เข้าแถว 1 คน

คราวนี้เราก็มาดูวิธีเขียน sql ในการหาผลลัพธ์ที่ออกมาดังนี้ครับ
SELECT DISTINCT "penalty"."wrong",
count( DISTINCT id)
FROM "penalty"
WHERE ( "penalty"."sex" = 'ชาย' ) AND
( "penalty"."date" between :begdate and :enddate )
GROUP BY "penalty"."wrong"

    ลองศึกษาดูนะครับอาจจะพอมีประโยชน์บ้างนะครับ
บทความนี้มาจาก www.soopawat.com