Mysql 基于标志的SQL查询
我需要Mysql查询方面的帮助。如何求和(值)表中仅标记为0但不标记为所有零但仅标记为最后一个直零的值。比如说可能是最后2个零度,可能是最后5个零度。在示例图片中,最后3个零 样本数据Mysql 基于标志的SQL查询,mysql,sql,Mysql,Sql,我需要Mysql查询方面的帮助。如何求和(值)表中仅标记为0但不标记为所有零但仅标记为最后一个直零的值。比如说可能是最后2个零度,可能是最后5个零度。在示例图片中,最后3个零 样本数据 相当复杂,但我认为它是有效的,可能适合您 Select sum(`value`) from (Select `value`, @lastval := @lastval + 1 as row_index
相当复杂,但我认为它是有效的,可能适合您
Select sum(`value`) from
(Select
`value`,
@lastval := @lastval + 1 as row_index
from yourtable
cross join (select @lastval := 0) A) B
where B.row_index > (select max(rowindex) from
(Select
`flag`,
@lastval := @lastval + 1 as rowindex
from yourtable
cross join (select @lastval := 0) C) D
where D.flag = 1)
您可以在中优化我的答案。请在帖子正文中提供一些示例数据和所需的文本格式输出。检查限制功能。按某列排序并使用限制和最后一行如果您知道记录数为0,则可以使用此查询
从表中选择总和(值),其中flag=0按id排序DESC limit 0,3
。。在这个查询中,我使用限制0,3
假设您知道屏幕截图中标记为0的记录数是3。这太棒了!正是我需要的谢谢你是个很棒的程序员。我还需要更多的了解。这仍然很复杂,但我找不到更好的。若你们有更简单的查询,你们可以在SQLFiddle上编辑以优化它,并更新答案。我也喜欢这个问题