 |
ผมต้องการ แสดงรายงาน โดย sum ตรง receiver ให้เหลือแค่ผู้รับอย่างละบรรทัด ในรูปก็แสดงว่าต้องเหลือ |
|
 |
|
|
 |
 |
|
MySQL ??
Code (SQL)
SELECT evaluator, receiver, SUM(q1), SUM(q2), SUM(q3), SUM(q4), SUM(q5), SUM(q6), SUM(q7), SUM(q8), SUM(q9) FROM table_name GROUP BY receiver
|
 |
 |
 |
 |
Date :
2014-02-19 23:41:37 |
By :
zankumuro |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้ว คือว่าผมต้องการหาค่าเฉลี่ยด้วยนะครับ ผมเลยติดปัญหาว่่าจะหารอย่างไรตาม record ข้อมุลดิบที่มีของแต่ละสังกัดนะครับ
|
 |
 |
 |
 |
Date :
2014-02-19 23:53:14 |
By :
B4571193 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองทำตารางข้อมูลแบบที่ต้องการจาก

มาให้ดูครับ
|
 |
 |
 |
 |
Date :
2014-02-19 23:55:51 |
By :
zankumuro |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมต้องการ ตรงสรุปนะครับอยากได้เป็นค่าเฉลี่ยจาก database รูปด้านล่างมันยังไม่เป็นค่าเฉลี่ยอะครับ

|
 |
 |
 |
 |
Date :
2014-02-20 00:03:41 |
By :
B4571193 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่าเฉลี่ยของอะไรครับ ทั้งหมด หรือของแต่ล่ะ receiver
|
 |
 |
 |
 |
Date :
2014-02-20 00:54:40 |
By :
zankumuro |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ของ receiver ครับ โดยเกิดจากข้อ q1-q10 บวกกันแล้ว ได้หารด้วยจำนวนที่ record ของตัวเอง จากเบสคือ hr/3,it/1,rd/2
แล้วก็จะได้ดังรูปข้างบนครับ แต่รูปคะแนนข้างบนฟิลด์ชื่อ คะแนนที่ได้ มันยังไม่ใช่ค่าเฉลี่ย
|
 |
 |
 |
 |
Date :
2014-02-20 01:10:17 |
By :
B4571193 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มาตามนัดแล้วครับ 
ขอฝากอีกหนึ่งแนวความคิดครับ
$sql = "select reciever, count(*) as freq ,sum(q1+q2+q3+q4+q5+q6+q7+q8+q9) as sum
from evaluation group by reciever order by reciever";
// ทีนี้ก็เอาตัวแปร php มารับค่าที่ได้จากการคิวรี่ แล้วนำไปหาค่าเฉลี่ยเอาเองน่ะครับ
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)){
$average[$data["reciever"]] = $data["sum"] / $data["freq"];
}
|
 |
 |
 |
 |
Date :
2014-02-20 01:13:26 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมชอบเวบนี้
http://sqlfiddle.com/#!2/7a9a5e/4
ลองเข้าไปเล่นดูน่ะ 
|
 |
 |
 |
 |
Date :
2014-02-20 01:15:11 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาไปใช้อย่างนี้ปะครับ
<td><div class="center"><? echo $average[$data["receiver"]]; ?></div></td>
|
ประวัติการแก้ไข 2014-02-20 01:42:03
 |
 |
 |
 |
Date :
2014-02-20 01:41:21 |
By :
B4571193 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนเอาไปใช้ก็ foreach ครับ
foreach($average as $reciever => $av)
echo "ค่าเฉลี่ยของ $reciever :: $av<br />\n";
แค่นี้ล่ะครับ
|
 |
 |
 |
 |
Date :
2014-02-20 01:49:12 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับผม คำว่า sum ใน sql ทำให้มันมีปัญหา เปลี่ยนเป็นชื่ออื่นใช้ได้เลย ขอบคุณมากนะครับที่ช่วยเหลือตลอด
|
 |
 |
 |
 |
Date :
2014-02-20 01:49:21 |
By :
B4571193 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โอ... ผมพลาดครับ ปกติก็จะเน้นย้ำให้คนอื่นๆ อย่าตั้งชื่อตัวแปรซ้ำกับ reserved word
แต่คราวนี้คงเพราะดึกมากแล้ว เลยอาจหลงลืมไป ขอโทษด้วยครับ
|
 |
 |
 |
 |
Date :
2014-02-20 01:54:27 |
By :
sakuraei |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|