[英]one table data insert into different table with sum and group by in mysql and php
[英]How create a multi sum() for one table with group by and different type for one person
我有一個復雜的mysql表,例如:
staff type value date
a cash 10 2013-02-17
b efpos 5 2013-02-16
c voucher 20 2013-02-16
a cash 10 2013-02-16
b efpos 5 2013-02-16
c voucher 20 2013-02-15
a cash 10 2013-02-15
b efpos 5 2013-02-15
c voucher 20 2013-02-14
我如何獲得這樣的桌子?
staff cash efpos voucher total date
a sum sum sum sum(cash, efpos, voucher) 2013-02-16
b sum sum sum sum(cash, efpos, voucher) 2013-02-16
c sum sum sum sum(cash, efpos, voucher) 2013-02-16
這意味着我想使用按人員和日期分組的每種類型,以及這三種類型的總和來獲得總和 。
這應該工作。
SELECT staff,
SUM(CASE type WHEN 'cash' THEN value ELSE 0 END) as cash,
SUM(CASE type WHEN 'efpos' THEN value ELSE 0 END) as efpos,
SUM(CASE type WHEN 'voucher' THEN value ELSE 0 END) as voucher,
SUM(value) as total
FROM <TABLE_NAME>
GROUP BY staff
但是,使用聚合函數時無法獲取日期。 這樣做也沒有意義,因為您不是在日期上使用分組方式,而是在人員上使用分組方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.