所以我有一个看起来像这样的表:
cid | tid | score
-----+-------+-------
6 | 383 | 88
2 | 234 | 91
3 | 685 | 77
5 | 543 | 97
etc...
我要做的是在 tid 列中找到一个序数字段模式,然后在同一列中搜索该模式的其他实例。例如:
我查询显示单个 cid 的所有 tid,按分数降序排列:
cid | tid | score
-----+-------+-------
6 | 909 | 100
6 | 119 | 99
6 | 221 | 98
6 | 765 | 97
etc...
在 tid 列中建立了一个模式:909、119、221、765。现在我想找到该模式的其他可能实例,其中 cid 值是别的东西。(注意:不同的 cid 可以有相同的 tid,所以 cid 6 可以有 tid 909, cid 4 也可以。)
我想在第二个查询中检查模式。模式值可以隔开,但它们必须按顺序出现:
QUERY 2:
cid | tid | score cid tid score
--------------------- ---------------------
6 | 909 | 100 5 | 909 < | 100
6 | 119 | 99 5 | 831 | 97
6 | 221 | 98 5 | 793 | 96
6 | 765 | 97 5 | 435 | 96
5 | 404 | 95
5 | 119 < | 94
5 | 221 < | 94
5 | 765 < | 94
比较之后,我希望 MySQL 返回如下内容:
cid | tid pattern | instances (in order)
----+---------------+----------------------
5 909 1 (or 0)
5 119 1 (or 0)
5 221 1 (or 0)
5 765 1 (or 0)
在 MySQL 中是否有合理的方法来做到这一点?任何帮助表示赞赏。