検索

ホームページ  >  に質問  >  本文

グループ化と集計によるレコードの削除

<p>次の内容を含む一時テーブルがあります: </p> <pre class="brush:php;toolbar:false;">playlist_id | item_id | 渡されました -------------------------------------- 123 | 111 | 真 123 | 111 | 偽 123 | 111 | 真 123 | 112 | 真 456 | 212 | 偽 789 | 212 | true</pre> <p><code>playlist_id、item_id</code> の場合、結果を減らす必要があります。<code>passed</code> の値がすべて true の場合にのみ保持する必要があります。この例では、私が望む結果は次のとおりです: </p> <pre class="brush:php;toolbar:false;">playlist_id | item_id | 渡されました -------------------------------------- 123 | 112 | 真 789 | 212 | true</pre> <p>2 番目のレコードの <code>playlist_id、item_id</code> のペアには <code>false</code> 値があるため、対応するグループ全体を削除する必要があります。 <code>group by</code> と <code>having</code> を使用してみたので、クエリは次のようになります: </p> <pre class="brush:php;toolbar:false;">選択 プレイリスト、 アイテムID から 一時テーブル グループ化 プレイリストID、 アイテムID = true</pre> を通過しました <p>しかし、これは少なくとも 1 つの <code>true</code> 値を持つすべてのペアを返します。 </p> <p>ブール値の <code>passed</code> フィールドのいずれかが false の場合、すべての <code>playlist_id、item_id</code> レコードを削除するにはどうすればよいですか? </p> <p>ありがとうございます! </p>
P粉731861241P粉731861241475日前331

全員に返信(1)返信します

  • P粉245003607

    P粉2450036072023-08-18 10:37:55

    HAVING で集計値を使用する必要があります。それ以外の場合は、各グループのランダムな行をテストするだけになります。

    各グループの passed の最小値を取得するには、MIN(passed) を使用します。すべての値が true の場合は 1false 値が存在する場合は 0

    リーリー

    返事
    0
  • キャンセル返事