หาผลรวมจากรหัสกลุ่มประเภทเดียวกัน จะใช้คำสั่ง SQL ยังไงครับ ^^
งงครับ
ถ้าจากตารางด้านบนต้องการให้ผมลัพธ์ีที่ได้ออกมาอย่างไรครับ
เขียนตารางผลลัพธ์ให้ดูหน่อย
Date :
2012-05-03 10:33:45
By :
ขนมหม้อแกง
จากคำสั่งนี้
Code (PHP)
select substring('B012' from 1 for 3)
ทำให้สร้างการจัดกลุ่มตามรหัส 3 หลักแรกได้
Code (PHP)
select substring(groupID from 1 for 3) as grouping ,sum(amount) as total from sampleTB group by grouping
// ถ้า error ก็ให้ group by substring(groupID from 1 for 3)
// สมมุติ groupID คือ B011,B012,B013,B014 ,................
Date :
2012-05-03 10:44:12
By :
sakuraei
ครับผม ก่อนอื่น ผมขอขอบคุณ คุณทั้งสองมากเลยครับ
จากที่คุณ ขนมหม้อแกง ต้องการให้ผมชี้แจงรายละเอียดของผลลัพธ์
โดยผมต้องการให้ผลลัพธ์เป็นดังนี้ครับ
//จากโพสด้านบนนะครับ
B011 4 5
B012 3 0
B013 2 2
B021 9 3
B022 1 5
B023 0 2
//จากโพสด้านบนนะครับ
B011 9 7
B021 10 10
จะเห็นว่ารหัสที่ลงท้ายด้วย 1 จะเปรียบเสมือนเป็น Header ของแต่ละรหัสที่อยู่ในกลุ่มประเภทเดียวกันกับมัน และจะแสดงผลรวมของรหัสที่อยู่ในกลุ่มประเภทเดียวกันกับมันอีกด้วยครับ ^^
Date :
2012-05-03 11:01:10
By :
majung
้อ้อ เข้าใจแล้วครับ
แนวคิดน่าสินใจเลยที่เดียวครับ
ของคุณ Unidentifer ที่ทำไ้ว้ให้ก็ใช้ไ้ด้แล้วน่ะครับ
น่าจะติดแค่ครง ไม่รวมค่าหลักชุดสุดท้าย คือ 7 แลัวก็ 10 (ไม่รู้ว่าผมเป็นคนเดียวรึเปล่า)
Code (PHP)
SELECT substring( id FROM 1 FOR 3 ) AS grouping
, sum( substring_index( field, ' ', 1 ) ) AS total_1 // ผมแยกข้อมูลโดยใช้ ช่องว่างครับ
, sum( substring_index( field, ' ', -1 ) ) AS total_2 // total 1 , 2 จะใช้ concat ก็ได้จะครับ แต่ระวังค่าจะกลายเป็นค่าว่างหมดครับ
FROM table_b
GROUP BY grouping
แต่ผลลัพธ์ตารางยังไม่ได้ตามที่ต้องการเปะน่ะครับ
ขอบคุณคำถามดี ๆ และคำตอบดี ๆ ทำให้ได้ความรู้ใหม่ ^^
ประวัติการแก้ไข 2012-05-03 11:41:12
Date :
2012-05-03 11:40:44
By :
ขนมหม้อแกง
Code (PHP)
select substring(groupID from 1 for 3) as grouping ,sum(amount_day1) as total1 ,sum(amount_day2) as total2
from sampleTB group by grouping
Date :
2012-05-03 12:04:16
By :
sakuraei
Load balance : Server 02