我如何使用sql来选择它

时间:2017-09-19 05:34:05

标签: mysql sql continuous

我有以下数据:

enter image description here

并且当位置为2时,我不知道如何使用一个句子来查询连续值(一个= 1)。结果应该是这样的:

maxCount

   3

2 个答案:

答案 0 :(得分:1)

你应该在OP中详细说明你的逻辑,而不是上面的评论,这将有所帮助,在这里你可以尝试跟踪sql并检查它是否是你想要的:

SELECT
    MAX(@cnt := CASE WHEN one = 1 THEN  @cnt + 1 ELSE 0 END) AS maxCount
FROM yourtable
CROSS JOIN ( SELECT @cnt := 0 ) t
WHERE `position` = 2
ORDER BY id

您也可以查看SQLFiddle Demo

答案 1 :(得分:0)

如果要对它们求和,请使用SUM函数。

SELECT SUM(one) FROM table WHERE position = 2;

否则,如果仅计算使用COUNT函数。

SELECT COUNT(*) FROM table WHERE position = 2 AND one = 1

如果你想要一个运行计数,在你的程序中执行它,你要求数据库做一些真正属于你加载这些记录的循环。