私はこの問題に頭を悩ませていて、スタック交換でいくつかの同様の状況を見てきましたが、読めば読むほど混乱します! 次のテーブルがあります。
id | zipcode | provider | channel
---------------------------------
1 | 91773 | 342 | 0
2 | 91773 | 2261 | 177
3 | 91773 | 5590 | 0
4 | 91773 | 5590 | 0
5 | 91773 | 5590 | 135
6 | 91773 | 5590 | 0
7 | 91773 | 6010 | 0
8 | 91773 | 6010 | 0
レコードを 1 つだけ保持したいのですが、チャネルに 0 以外のものがある場合は保持します。したがって、これを返す必要があります。
id | zipcode | provider | channel
---------------------------------
1 | 91773 | 342 | 0
2 | 91773 | 2261 | 177
5 | 91773 | 5590 | 135
8 | 91773 | 6010 | 0
かなりの数のクエリを試しましたが、どれもうまくいきませんでした。前もって感謝します。
編集: 与えられた例のいくつかを試しましたが、どれも正しい情報を返していないようです。より良い例はこれらを使用することであり、その理由がわかります:ユニコーンの値に挿入します
(1, 91773, 342, 0),
(2, 91773, 2261, 177),
(3, 91773, 5590, 0),
(4, 91773, 5590, 0),
(5, 91773, 5590, 135),
(6, 91773, 5590, 0),
(7, 91773, 6010, 0),
(8, 91773, 6010, 0),
(9, 91776, 5590, 135),
(10, 91776, 5590, 0),
(11, 91776, 6010, 0),
(12, 91776, 6010, 0);