限制每行返回的最大值

时间:2015-08-05 16:58:47

标签: mysql max row limit

假设我有一张表如下:

|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

提前致谢。

1 个答案:

答案 0 :(得分:1)

在这里你去,也改变计数(超时)到总和(超时)if是什么是检查超时值如果0然后使用持续时间,否则使用1000

SELECT COUNT(id) session_count, SUM(IF (timeout = 0, duration,1000)) duration, SUM(timeout) timeouts