したがって、次のようなテーブルがあります。
cid | tid | score
-----+-------+-------
6 | 383 | 88
2 | 234 | 91
3 | 685 | 77
5 | 543 | 97
etc...
私がやろうとしているのは、tid 列で序数フィールド パターンを見つけてから、同じ列でそのパターンの他のインスタンスを検索することです。例えば:
1 つの 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 も同様です。)
2 番目のクエリでパターンを確認したい。パターン値は間隔を空けて配置できますが、順番どおりに表示する必要があります。
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でこれを行う合理的な方法はありますか? どんな助けでも感謝します。