그래서 난이이 값이 아래 표와 PHP에서 하나 개의 변수 : 숫자의 위의 조합이 존재하는 경우 (14, 16)MySQL의 체크 조합
는 어떻게 확인 할 수 있습니다 표? 위의 콤보가 ID 3과 함께 존재합니다. 숫자 순서 (예 : "16,14"또는 "14,16")를 확인하고 싶지 않습니다.
혼란스러워하지 않기를 바랍니다.
그래서 난이이 값이 아래 표와 PHP에서 하나 개의 변수 : 숫자의 위의 조합이 존재하는 경우 (14, 16)MySQL의 체크 조합
는 어떻게 확인 할 수 있습니다 표? 위의 콤보가 ID 3과 함께 존재합니다. 숫자 순서 (예 : "16,14"또는 "14,16")를 확인하고 싶지 않습니다.
혼란스러워하지 않기를 바랍니다.
당신은 COUNT
및 HAVING
와 GROUP BY
필요합니다
SELECT id
FROM tablename
WHERE optid IN(14, 16)
GROUP BY id
HAVING COUNT(DISTINCT optid) = 2;
WHERE optid IN(14, 16)
그 ID가 그 숫자를 보장합니다.COUNT DISTINCT
은 정확히 두 개의 문자가있는 id를 모두 제거합니다. optid
.결과 :이 쿼리는 당신에게 적어도 14 and 16
이 그 id
을 줄 것이다 : 것을
| id |
|----|
| 3 |
| 4 |
참고. 그래서 당신이 정확히 14, 16, 더 이상 일을해야하는 사람들을 원하지만 경우에 당신에게 모두 3과 4
을 줄 것이다,이 시도 :
SELECT id
FROM tablename
WHERE optid IN(14, 16)
AND id not in (SELECT id from tablename where optid not in(14,16))
GROUP BY id
HAVING COUNT(DISTINCT optid) = 2;
이 당신에게 줄 것이다 :
| id |
|----|
| 3 |
대단히 감사합니다 !!! 2 일 나는 이것을 찾고있다 !!! :) –
스택 오버 플로우에 오신 것을 환영합니다. 이 일을하기 위해 이미 무엇을 시도 했습니까? [좋은 질문을하는 방법] (https://stackoverflow.com/help/how-to-ask)을 검토하십시오. 스택 오버플로는 코딩 서비스가 아닙니다. *** 귀하의 문제를 조사하고 게시하기 전에 코드를 직접 작성하는 것이 좋습니다 ***. * 특정 *에 붙어 있다면, [Minimal, Complete, Verifiable example] (https://stackoverflow.com/help/mcve) 및 시도한 내용을 요약해서 포함시켜주십시오. – FluffyKitten
3과 4 모두 14와 16을 가지고 있습니다. –