[英]GROUP_CONCAT or SUM with Count(*) inside and GROUP BY in MySQL
我目前有這個查詢:
SELECT ((count(*) DIV 20) * 10) AS money_earned
FROM ticket
WHERE
closed_by = 269 AND
status = 1 AND
closed_index >= TO_DAYS("2012/01/01") AND closed_index <= TO_DAYS("2013/01/01")
GROUP BY closed_index;
它產生此:
money_earned
60
50
30
20
20
有沒有辦法對這些行求和,或將結果行連接為字符串。 我嘗試使用GROUP_CONCAT,但收到“無效使用組功能”錯誤。
相反,如果可能的話,我想在一個查詢中產生以下內容:
money_earned
180
要么
money_earned
60,50,30,20,20
您可以將查詢用作子查詢:
select sum(money_earned), group_concat(money_earned)
from (SELECT ((count(*) DIV 20) * 10) AS money_earned
FROM ticket
WHERE closed_by = 269 AND
status = 1 AND
closed_index >= TO_DAYS("2012/01/01") AND closed_index <= TO_DAYS("2013/01/01")
GROUP BY closed_index
) tci;
由於四舍五入,我將在單個查詢中對此保持警惕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.