私がこれを持っているとしましょう:
|ID | Val |
+---+-----+
| 1 | 10 |
| 1 | 20 |
| 1 | 30 |
| 2 | 10 |
| 2 | 20 |
| 3 | 20 |
| 3 | 30 |
+---+-----+
そして、10 と 30 の両方の値を持つ ID のみを選択する必要があります。では、英語で、10 と 30 の両方の値を持つ ID を教えてください。どうすればいいですか?
私がこれを持っているとしましょう:
|ID | Val |
+---+-----+
| 1 | 10 |
| 1 | 20 |
| 1 | 30 |
| 2 | 10 |
| 2 | 20 |
| 3 | 20 |
| 3 | 30 |
+---+-----+
そして、10 と 30 の両方の値を持つ ID のみを選択する必要があります。では、英語で、10 と 30 の両方の値を持つ ID を教えてください。どうすればいいですか?
次のようなものを使用します。
select id
from yourtable
where val in (10, 30)
group by id
having count(distinct val) =2
SQL FiddlewithDemoを参照してください
SELECT DISTINCT `ID` FROM tablename WHERE `VAL` IN ('10','30');