โปรแกรมบัญชีเกณพ์คงค้าง รพ.สต. สสจ.สุรินทร์ รายงานผู้บริหารด้านการเงิน รพ.สต.

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