sql >> データベース >  >> RDS >> Mysql

グループ内のすべてのレコードがMySQLの特定の基準を満たしている場合にのみ、グループ化されたレコードを選択するにはどうすればよいですか?

    次のクエリをお勧めします:

    SELECT COUNT(a.id) AS total_records, a.disregard_inventory, a.qty
        FROM artikelstammdaten a
        ...
    GROUP BY a.style
    HAVING (SUM(a.qty) != 0 OR (a.disregard_inventory = 1))
           AND (SUM(qty>0) = total_records)
    

    クエリに追加した最後の条件では、この商品のサイズの数(total_records)の場合にのみスタイルを返すことができます。 )は、この商品で利用可能なサイズの数と同じです(SUM(qty>0) )。
    qty>0 0(指定されたサイズで製品が利用できない場合)または1(利用可能な場合)のいずれかを返します。したがって、SUM(qty>0) 0からサイズの総数までの整数を返します。



    1. MySQLおよびGROUP_CONCAT()の最大長

    2. mysqlおよびphpPDO-接続が予期せず閉じられた場合、コミットされていないトランザクションはどうなりますか?

    3. PDOプリペアドステートメントの安全性

    4. mysqladminフラッシュホストでブロックを解除する方法