【发布时间】:2015-05-15 20:24:08
【问题描述】:
这是一个查询
SELECT * FROM user_state_logs WHERE user_state_logs.user_id = 1
AND created_at BETWEEN '2015-05-03 11:06:05' AND '2015-05-13 11:06:05'
返回这个
user_id state duration
1 call 10
1 call 20
1 wait 30
1 call 10
1 wait 20
我想退货
user_id state duration
1 call 40
1 wait 50
我已尝试添加GROUP BY user_state_logs.state
但我得到了这个错误
错误:列“user_state_logs.user_id”必须出现在 GROUP BY 子句或在聚合函数中使用
所以两个问题:
为什么会出现这个错误?
我怎样才能让查询以第二种格式返回数据?
【问题讨论】:
-
实际上,为什么总等待时间是 20,而不是 50?
-
@Uriil 可能是正确的,如果他想获得总体通话时间和最短等待时间,这就是我在回答中使用的。不过还是等他的评论比较好
-
@urill 你的错字
标签: sql postgresql