假设我有一张表如下:
|id | duration | timeout
=========================
| 1 | 100 | 0
| 2 | 12345 | 1
| 3 | 321 | 0
我想获得总持续时间,以及会话数和超时次数,如下所示:
SELECT count(id) session_count, sum(duration) duration, count(timeout) timeouts
对于任何超时的会话,但,我需要将值限制为1000.所以我的查询应该产生类似的内容:
| session_count | duration | timeouts
=====================================
| 3 | 1421 | 1
提前致谢。
答案 0 :(得分:1)
在这里你去,也改变计数(超时)到总和(超时)if是什么是检查超时值如果0然后使用持续时间,否则使用1000
SELECT COUNT(id) session_count, SUM(IF (timeout = 0, duration,1000)) duration, SUM(timeout) timeouts