Éliminer les enregistrements par regroupement et agrégation
<p>J'ai une table temporaire avec le contenu suivant : </p>
<pre class="brush:php;toolbar:false;">playlist_id | item_id |
---------------------------------------------
123 | 111 | vrai
123 | 111 | faux
123 | 111 | vrai
123 | 112 | vrai
456 | 212 | faux
789 | 212 | vrai</pré>
<p>Je dois réduire les résultats. Si pour un <code>playlist_id, item_id</code>, je n'ai besoin de le conserver que si toutes les valeurs <code>passed</code> donc dans Dans cet exemple, le résultat que je souhaite est : </p>
<pre class="brush:php;toolbar:false;">playlist_id | item_id |
---------------------------------------------
123 | 112 | vrai
789 | 212 | vrai</pré>
<p>Étant donné que la paire <code>playlist_id, item_id</code> du deuxième enregistrement a une valeur <code>false</code>, l'ensemble du groupe correspondant doit être supprimé.
J'ai essayé d'utiliser <code>group by</code> et <code>having</code>, donc la requête est : </p>
<pre class="brush:php;toolbar:false;">sélectionner
playlist,
ID de l'article
depuis
table temporaire
par groupe
playlist_id,
ID de l'article
ayant réussi = true</pre>
<p>Mais cela me renvoie toutes les paires qui ont au moins une valeur <code>true</code> </p>
<p>Comment puis-je éliminer tous les enregistrements <code>playlist_id, item_id</code> si l'un d'entre eux a un champ booléen <code>passed</code> </p>
<p>Merci ! </p>