*이 MySQL의 테이블 가정 : 나는 회원이 그룹에 모두 "블루"와 "녹색where 절
사용을있는 행을 얻기 위해이 테이블을 조회 할 수있는 방법
id | group | members
1 | blue | Bob
2 | red | Tom
3 |green | Maria
4 |blue | Maria
5 |red | Bob
6 |red | Maria
7 |yellow | Bob
을 절은 나를 위해 작동하지 않는 경우의 "IN"
예상 결과 :. "마리아"
편집 :
,어쩌면 뭔가를 찾았습니다 ... "IN"배열에 n 변수를 사용하면 "HAVING"부분에 같은 n 값을 사용해야합니다. 이 진술을 시도하면 제대로 작동하는 것 같습니다. (의견은 높이 평가 됨)
SELECT id,members FROM my_table WHERE `team` IN('blue', 'red', 'green') GROUP BY members HAVING COUNT(DISTINCT team) >= 3
귀하의 의견은 무엇입니까?
시도한 쿼리 표시 –
어떤 쿼리를 시도 했습니까? – TZHX
장 - FrançoisSavard, @juergen_d @ @TZHX 여기 내 SQL 문입니다 : F로 MY_TABLE \t로부터 ID, 회원 을 선택 WHERE \t 회원 에 의해 그룹에서 ('블루', '녹색') GROUP HAVEING COUNT (DISTINCT'group')> = 2 "IN"절에 변수가 2 개만있는 경우 명령문은 정상입니다. 그러나 세 번째 변수를 추가하면 기대 한 바를 얻지 못합니다. 내 말은, 나는 0 행을 얻을 것으로 예상한다. – angeltcho