关于mysql的会计会话避免重复

时间:2014-07-28 19:04:15

标签: mysql sql

我有一个这样的帐户表:

  

acct:(id,acctuniqueid,name,sessiontime)

我想计算name = XXXXXX使用的总时间,但是要避免重复acctuniqueid。我正在尝试以下查询,但结果中出现语法错误:

SELECT 
IFNULL(SUM(sessiontime),0) 
FROM 
(SELECT * FROM acct WHERE name='XXXXX' GROUP BY `acctuniqueid`)
;

有什么建议吗?

提前谢谢

2 个答案:

答案 0 :(得分:1)

您缺少派生表的表别名,例如:

SELECT 
IFNULL(SUM(sessiontime),0) as total_time
FROM 
(SELECT * FROM acct WHERE name='XXXXX' GROUP BY `acctuniqueid`) as temp
;

答案 1 :(得分:0)

这是你之后的事吗?

SELECT acctuniqueid
,coalesce(SUM(sessiontime),0) Total 
FROM acct 
WHERE name='XXXXX' 
GROUP BY `acctuniqueid`;

SQL小提琴:http://sqlfiddle.com/#!2/31467/1