搜索3个值的组合

时间:2014-11-09 06:33:02

标签: mysql sql

我想在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?

非常感谢。

2 个答案:

答案 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;