次のようなテーブルがあります。
| A | B |
-----------------
| 22.1 | 15.8 |
| 12.15 | 4.55 | <- Duplicate record
| 12.15 | 4.55 | <- Duplicate record
| 12.15 | 4.55 | <- Duplicate record
| 30.4 | 44.12 |
| 10.5 | 7.58 |
| 31.2 | 65.1 | <- Duplicate record
| 31.2 | 65.1 | <- Duplicate record
| 9.4 | 7.8 |
| 12.15 | 4.55 | <- Same Duplicate record
| 12.15 | 4.55 | <- Same Duplicate record
| 12.15 | 4.55 | <- Same Duplicate record
| 31.2 | 65.1 | <- Same Duplicate record
| 31.2 | 65.1 | <- Same Duplicate record
ここで と をグループA
化しB
ます。しかし、タンデム値をグループ化したい。
したがって、2 つの同じレコードの間に異なるレコードがある場合、両方のレコード (同じ) が来るはずです。
たとえば、期待される出力は次のようになります。
| A | B |
-----------------
| 22.1 | 15.8 |
| 12.15 | 4.55 | <- Group 1
| 30.4 | 44.12 |
| 10.5 | 7.58 |
| 31.2 | 65.1 | <- Group 2
| 9.4 | 7.8 |
| 12.15 | 4.55 | <- Group 3 (Second Time)
| 31.2 | 65.1 | <- Group 4 (Second Time)
私がしようとしているのは:
SELECT * FROM MyTable
GROUP BY A,B
しかし、それは私に間違った結果をもたらします:
| A | B |
-----------------
| 22.1 | 15.8 |
| 12.15 | 4.55 |
| 30.4 | 44.12 |
| 10.5 | 7.58 |
| 31.2 | 65.1 |
| 9.4 | 7.8 |
Here `12.15` and `31.2` is skipped second time. But I want it.
注、私はこの質問を読みましたが、解決策はPHPで提供されていますが、MySQLで必要です。この SQLFiddle
で問題を解決しようとしています。