mysql - 我如何使用sql来选择这个

标签 mysql sql continuous

我有以下数据:

enter image description here

而且我不知道如何用一句话来查询位置为2时的连续值(one = 1)。结果应该是这样的:

maxCount

   3

最佳答案

你应该在 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 .

关于mysql - 我如何使用sql来选择这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46292553/

相关文章:

android - 如何持续监控 LogCat 文件?

mysql - 确定mysql中两个字段的唯一组合的计数

sql - 如何使用一个不同的列来选择多个列

python - 错误 : Failure: ModuleNotFoundError (No module named 'flask_sqlalchemy' )

postgresql - 如何在网络中使用 PostgreSQL 获取连续列表

sql - 如何重写长查询?

mysql - 如何设计和准备大型并发迭代

mysql - 如何 "inner join"两个网站数据库

mysql - 从邮件数据库构建对话列表

MySQL - 如何在 Update 语句中将字符串值解析为 DATETIME 格式?