mysql มี countif ไหมค่ะ
DateTime : 2010-12-29 15:07:57
Post By : admin_tranform
IP Address : 180.180.32.217
ตามหัวข้อเลย mysql มี countif ให้ใช้ไหมอ่ะ คืออยากจะนับจำนวนประชากร ที่มีอายุ 15ปีขึ้นไปอ่ะ
ช่วยเหลือด้วยนะคะ
Message !!
หากต้องการตอบกระทู้ Webboard กรุณาเข้าใช้ระบบก่อนนะค่ะ..
กระทู้ตอบกลับ
อือ....... มีใน Excel ครับ
Post โดย : dogmike Date: 2010-12-29 15:19:57 ip: 203.113.118.78
รู้สึกว่าจะไม่มีนะครับ มีแค่ count แต่ถ้าจะนับแบบนั้น ก็ใช้ where ก็ได้ครับ
Post โดย : dogmike Date: 2010-12-29 15:23:23 ip: 203.113.118.78
แบบนี้พอได้ไหมคับ
select count(*) where (select * from patient where old >14)
Post โดย : huwko Date: 2010-12-29 19:29:38 ip: 118.175.76.231
select count(*) from patient where (select * from patient where old >14)
Post โดย : huwko Date: 2010-12-29 19:30:15 ip: 118.175.76.231
ลองดูแบบนี้
select count(if(age_y>14,age_y,NUll))as count_of_if from patient
count มันจะนับค่าถ้ามันไม่ใช่ Null เลยใช้ ifมาช่วยเปรียบเทียบอายุ ถ้าไม่ตรงตามเงื่อนไขมันก็จะให้ค่าเป็น Null จึงไม่นับครับ
Post โดย : dogmike Date: 2010-12-29 21:21:41 ip: 203.113.118.78
ไม่เข้าใจอ่ะ ช่วยอธิบายเพิ่มได้ไหม...
Post โดย : admin_tranform Date: 2010-12-30 14:20:21 ip: 182.52.30.126
หมายถึง ใช้ 2 fuction ครับ
count() เป็นฟังชั่นที่นับจำนวนถ้าเกิดว่ามันมีค่าไดค่าหนึ่ง ค่าว่างที่ไม่ใช่ NUll มันก็นับนะ
if() เป็นฟังก์ชั่นที่ใช้เปรียบเทียบแล้วแสดงผล ถ้าไม่เป็นตามเงื่อนใข ก็กำหนดเป็น NULL มันก็ไม่นับจำนวนให้เช่น if(age_y>14,age_y,NUll)
ก็จะกลายเป็นว่า ถ้าอายุ 15 ปีขึ้นไป ก็แสดงอายุ แต่ถ้าอายุน้อยกว่า ให่แสดงเป็น NULL แล้วใช้ countมานับจำนวนต่อครับ
กลายเป็น
select count(if(age_y>14,age_y,NUll))as count_of_if from patient
Post โดย : dogmike Date: 2011-01-01 12:15:07 ip: 203.113.118.78