그룹화 및 집계를 통해 기록 제거
P粉731861241
P粉731861241 2023-08-17 19:20:03
0
1
306
<p>다음 콘텐츠가 포함된 임시 테이블이 있습니다. </p> <pre class="brush:php;toolbar:false;">playlist_id | --------------------------- 123 | 111 | 123 | 111 | 거짓 123 | 111 | 123 | 112 | 456 | 거짓 789 | 212 | 사실</pre> <p>결과를 줄여야 합니다. <code>playlist_id, item_id</code>에 대해 모든 <code>passed</code> 값이 true인 경우에만 유지하면 됩니다. 따라서 이 예에서 내가 원하는 결과는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">playlist_id | --------------------------- 123 | 112 | 789 | 212 | 사실</pre> <p>두 번째 레코드의 <code>playlist_id, item_id</code> 쌍에 <code>false</code> 값이 있으므로 해당 그룹 전체를 삭제해야 합니다. <code>group by</code> 및 <code>having</code>를 사용해 보았으므로 쿼리는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">선택 재생목록, item_id ~에서 임시 테이블 그룹화 기준 재생목록_ID, item_id 통과 = true</pre> <p>그러나 이것은 적어도 하나의 <code>true</code> 값을 갖는 모든 쌍을 반환합니다. </p> <p>모든 <code>playlist_id, item_id</code> 레코드 중 false인 부울 <code>passed</code> 필드가 있는 경우 어떻게 제거합니까? </p> <p>감사합니다! </p>
P粉731861241
P粉731861241

모든 응답(1)
P粉245003607

HAVING에서 집계 값을 사용해야 합니다. 그렇지 않으면 각 그룹에서 임의의 행을 테스트하는 것입니다.

사용MIN(passed)来获取每个组中passed的最小值。如果所有值都是true,则为1;如果存在任何false值,则为0.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!