Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैसकल कंडीशनल काउंट

SELECT 
   l.product_id, t.asset_type_id, COUNT(*)
FROM
   lookup l
   CROSS JOIN
   (SELECT 1 AS asset_type_id UNION ALL SELECT 2 UNION ALL SELECT 3) t
   LEFT JOIN
   assets a ON l.asset_id = a.asset_id AND t.asset_type_id = a.asset_type_id
GROUP BY
   l.product_id, t.asset_type_id;

संपादित करें:अलग कॉलम के रूप में

SELECT 
   l.product_id, 
   COUNT(CASE WHEN a.asset_type_id = 1 THEN 1 END) AS asset_count_image,
   COUNT(CASE WHEN a.asset_type_id = 2 THEN 1 END) AS asset_count_video,
   COUNT(CASE WHEN a.asset_type_id = 3 THEN 1 END) AS asset_count_sound
FROM
   lookup l
   LEFT JOIN
   assets a1 ON l.asset_id = a.asset_id AND a.asset_type_id IN (1, 2, 3)
GROUP BY
   l.product_id;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा में टाइमस्टैम्प को आज तक परिवर्तित करना

  2. MySQL और PHP में खाली डेटाबेस?

  3. मैं आसानी से एक Django ऐप को mySQL से PostgreSQL में कैसे परिवर्तित कर सकता हूं?

  4. Docker समस्या के साथ Laravel MySQL को जोड़ता है

  5. पीडीओ प्रारंभ करते समय - क्या मुझे यह करना चाहिए:वर्णसेट =यूटीएफ 8 या वर्णसेट =यूटीएफ 8 एमबी 4?