Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Множество set и where клаузи в заявката за актуализиране в mysql

  2. Как да избегнете това PDO изключение:Не може да се изпълняват заявки, докато други небуферирани заявки са активни

  3. Защо максималното време на MySQL е 838:59:59?

  4. Rails:показване на изображение от поле на blob в база данни

  5. Ефективно определяне дали даден бизнес е отворен или не въз основа на работното време на магазина