 |
ขอถามเรื่อง Sql Group ผม COUNT ออกมาได้ละต้องการจะ รวม COUNT ครับ |
|
 |
|
|
 |
 |
|
select id,count(name) as name ,(select count(name) from table ) as allCount from table where year(`today_insert`) = '2009' and month(`today_insert`) = '10' group by id order by name desc";
อย่างนี้รึปล่าวที่อยากได้ครับ
|
 |
 |
 |
 |
Date :
2009-10-27 13:33:50 |
By :
Sek-Artdrinker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
code ที่ท่านให้มานั้นผมลองใช้แล้วไม่ได้นะครับ
แต่ผมดูเหมือนท่านเข้าใจผิด คือโค๊ดที่ผมมีนั้น มันใช้ได้อยู่แล้ว แต่ อยากจะรวมข้อมูลที่ count มาได้ให้ออกมาเป็นจำนวนเดียว คือ จำนวนทั้งหมด แล้วจำนวนทั้งหมดนั้นเอาไป บวกลบ คูณหาร หรือ เอาไปคิดเป็นเปอร์เซ็นต์ ต่อไปอีกได้ อ่ะครับ
ไม่ทราบว่าต้องเพิ่มโค๊ดตรงไหนอีกบ้างครับ
|
 |
 |
 |
 |
Date :
2009-10-27 15:56:13 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เห่อๆ แวะมาอ่าน
|
 |
 |
 |
 |
Date :
2009-10-27 15:59:17 |
By :
peterxp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แหม ตั้งคำถามได้น่าค้นหาจริงๆครับ เอ่อ คือตรงๆ เลย ไม่เข้าใจคำถาม
คือจะเอาจำนวน 16 มาใช้ใช่มั้ยครับ
ถ้าเปนอย่างนั้น ก็เอาตัวแปร บวกค่าที่เค้าท์ได้เรื่อยๆในลูป สิครับ เช่น
while ( $rsgroup = mysql_fetch_array($result) ){
$sumAll=$sumAll+$rsgroup['name'];
echo "ID$rsgroup['id']} </a>มี {$rsgroup['name']}จำนวน<br />";
}
สุดท้าย $sumAll จะ เท่ากับ 16
แล้วก็เอา $sumAll ไปทำอะรัยต่อก็ได้
ผมเข้าใจถูกรึยังครับ
|
 |
 |
 |
 |
Date :
2009-10-27 16:24:02 |
By :
Sek-Artdrinker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ok ครับ ขอบคุณมากครับ ผม ไม่นึกว่ามันจะบวกกันอย่างนี้ได้เลย อ่ะ ครับ
ขอบคุณอย่างแรงครับ
ถามต่ออีกนิดหนึ่งครับ
อยากจะเอาเข้าสูตรหา เปอร์เซ็น อ่ะครับ
ID 2 = (8/16)*100
ID 3 = (5/16)*100
ID 1 = (3/16)*100
ผมลองเขียนแบบนี้
Code (PHP)
while ( $rsgroup = mysql_fetch_array($result) )
{
$sumAll=($rsgroup['name'] / ($sumAll+$rsgroup['name'])) * 100;
echo "ID:{$rsgroup['id_baby']}มี {$rsgroup['name']}จำนวน $sumAll % <br>";
}
มันไม่ได้อ่ะครับช่วยผมหน่อยผมมึนไปหมดแล้ว
มันออกแบบนี้ครับ
ID 2 = 8 จำนวน 100%
ID 3 = 5 จำนวน 4.7619047619048 %
ID 1 = 3 จำนวน 38.650306748466 %
ไม่ทราบว่าผิดตรงไหนครับ
อยากได้แบบนี้
ID 2 = 8 จำนวน 50%
ID 3 = 5 จำนวน 31.25%
ID 1 = 3 จำนวน 18.75%
|
 |
 |
 |
 |
Date :
2009-10-27 17:46:55 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สุดยอดเลยครับ นึกว่าต้องเขียนทีละขั้น หลายๆ คิวรี่แล้วนำมาแสดงผล
|
 |
 |
 |
 |
Date :
2009-10-28 09:39:46 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งงรัยรึปล่าวครับเนี่ย งั้นคงต้องหาผลรวมก่อนนะครับ แล้วเอาไปคำนวนอีกรอบ
Code (PHP)
$sql1="select count(name) as CountNM from table ";
$row1=mysql_fetch_array(mysql_query($sql1));
$CountNM=$rsgroup['CountNM'] ; //
$sqlgroup = "select id,count(name) as name from table where year(`today_insert`) = '2009' and month(`today_insert`) = '10' group by id order by name desc";
$result=mysql_query($sqlgroup);
while ( $rsgroup = mysql_fetch_array($result) ){
$sumAll=($rsgroup['name'] / $CountNM) * 100;
echo "ID:{$rsgroup['id_baby']}มี {$rsgroup['name']}จำนวน $sumAll % <br>";
}
|
 |
 |
 |
 |
Date :
2009-10-28 10:18:12 |
By :
Sek-Artdrinker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งงมากเลยครับ อธิบายให้ผมหน่อยได้ไหม เพราะว่าผมเอาของท่านมาลองใช้ดู ก็ไม่ได้ครับ ผมยิ่งมั่วไปกันใหญ่เลย
|
 |
 |
 |
 |
Date :
2009-10-28 14:41:53 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มัน error ตรงใหน เอามาดูด้วยนะคร้าบบ
|
 |
 |
 |
 |
Date :
2009-10-28 16:45:33 |
By :
Sek-Artdrinker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นี้ครับมันเป็นแบบนี้

Code (PHP)
<?php
$conn = mysql_pconnect('localhost', 'root','') or die(mysql_error());
$select = mysql_select_db('database') or die(mysql_error());
$sql1="select count(name) as CountNM from table";
$row1=mysql_fetch_array(mysql_query($sql1));
$CountNM=$rsgroup['CountNM'] ; //
$sqlgroup = "select id,count(name) as name from table where year(`today_insert`) = '2009' and month(`today_insert`) = '10' group by id order by name desc";
$result=mysql_query($sqlgroup);
while ( $rsgroup = mysql_fetch_array($result) ){
$sumAll=($rsgroup['name'] / $CountNM) * 100;
echo "ID:{$rsgroup['id']}มี {$rsgroup['name']}จำนวน $sumAll % <br>";
}
?>
|
 |
 |
 |
 |
Date :
2009-10-28 17:29:47 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รู้แล้วครับว่าเป็นเพราะอะไร ขอบคุณมากนะครับ คุณพี่ Sek-Artdrinker
|
 |
 |
 |
 |
Date :
2009-10-29 09:57:04 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอถามต่อหน่อยครับ ว่า ถ้าเราจะนับ เพิ่ม เดือน 11 ต่อเพิ่มยังไงครับ
ผมทำได้ นับเดือน 10 ได้เดือนเดียวเอง อยากจะให้นับเดือน11ด้วยครับ
year(`today_insert`) = '2009' and month(`today_insert`) = '10' or year(`today_insert`) = '2009' and month(`today_insert`) = '11'
แบบนี้ใช่ไหมครับ
|
 |
 |
 |
 |
Date :
2009-11-05 08:33:16 |
By :
okboou |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใส่ @ ข้างหน้ากรณีที่หารเป็น 0 ครับ
Code (PHP)
@$sumAll=($rsgroup['name'] / $CountNM) * 100;
|
 |
 |
 |
 |
Date :
2009-11-05 09:26:23 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|