我想在MySQL数据库中搜索三个连续值的组合 例如,这是一个表:
| id | value |
| 1 | value0 |
| 2 | value1 |
| 3 | value2 |
| 4 | value3 |
| 5 | value4 |
| 6 | value0 |
| 7 | value1 |
| 8 | value2 |
我想按顺序搜索包含" value0"的行,下一行包含" value1" ans下一行包含" value2"。在上面的数据中,结果将为2,因为我们在三个连续行中有两次value0,value1,value2。
是否可以使用SQL?
非常感谢。
答案 0 :(得分:2)
试试这个我的朋友
SELECT COUNT( value )
FROM test
WHERE value = 'value0'
AND id +1
IN (
SELECT id
FROM test
WHERE value = 'value1'
)
AND id +2
IN (
SELECT id
FROM test
WHERE value = 'value2'
)
答案 1 :(得分:0)
您可以使用ORDER BY
先排序您的行,然后使用GROUP BY
执行汇总。试试这个sqlfiddle。
SELECT myvalue, COUNT(*)
FROM table1
GROUP BY myvalue
ORDER BY myvalue;