0

データをフィルタリングするクエリを作成する必要があります。私のテーブルには、すべてのデータが val1 でグループ化されていますが、val2 魔女の複数の値を削除する必要があります。

私のテーブルは次のようなものです:

| id | val1 | val2 | other |
|------------------|-------
| 1  | A1   |  b1  | ...
| 2  | A1   |  b1  | ...
| 3  | A1   |  b2  |

| 4  | A2   |  b1  |

| 5  | A3   |  b1  |
| 6  | A3   |  b1  |
| 7  | A3   |  b2  |

| 8  | A4   |  b1  |
| 9  | A4   |  b3  |
| 10 | A5   |  b1  |

そして、私はこれが必要です:

| id | val1 | val2 |
|------------------|
| 1  | A1   |  b1  |
| 3  | A1   |  b2  |
| 4  | A2   |  b1  |
| 5  | A3   |  b1  |
| 7  | A3   |  b2  |
| 8   ...
| 9   ...
| 10  ...

これは、select *,distinct(val2) from table group by val1..のようなものです。

4

1 に答える 1

2

あなたは正しい軌道に乗っていますGROUP BY

以下は、質問に従って結果を返す必要があります

SELECT MIN(id) AS id, val1, val2
FROM   YourTable
GROUP BY
       val1, val2

壊す

  • グループ化したくない列で集計関数を使用します。この例では、これは列のMIN集計関数です。idこれにより、各グループの最小 ID が返されます
  • GROUP BY個別の値を取得するすべての列
于 2013-07-31T13:53:22.763 に答える