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

एक क्वेरी में MySQL में एकाधिक पंक्तियों की गणना करना

SELECT item_id, operation, COUNT(*) 
FROM stats 
WHERE operation IN ('view','purchase','download') 
GROUP BY item_id, operation

प्रति आइटम_आईडी और संचालन के लिए एक पंक्ति के साथ एक तालिका लौटाएगा , जिसमें तीन कॉलम होते हैं:item_id, ऑपरेशन का प्रकार, और उस item_id के साथ पंक्तियों की संख्या।

1 view 3
1 purchase 5
2 download 7
3 download 1

यदि आप सभी आइटम_आईडी चाहते हैं तो आप WHERE को छोड़ सकते हैं, और आप सबसे लोकप्रिय या कुछ और प्राप्त करने के लिए COUNT(*) में ऑर्डर कर सकते हैं। निर्भर करता है कि आप क्या खोज रहे हैं या आप डेटा का उपयोग कैसे कर रहे हैं।

यदि आप चाहते हैं कि कॉलम एक दूसरे के बगल में , एक IF का उपयोग करें:

SELECT s1.item_id, SUM( IF( s1.operation = 'view', 1, 0 ) ) views, SUM( IF( s1.operation = 'download', 1, 0 ) ) downloads, SUM( IF( s1.operation = 'purchase', 1, 0 ) ) purchases
FROM stats s1
GROUP BY s1.item_id

item_id | views | downloads | purchases
1 | 3 | 0 | 5
2 | 0 | 7 | 0
3 | 0 | 1 | 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. स्थानीय नेटवर्क पर MySQL डेटाबेस से कनेक्ट करें

  2. MySQL में माइनस ऑपरेशन करने की कोशिश कर रहा है

  3. MySQL समस्या:खाली टेबल पर बाएं शामिल हों

  4. जबकि लूप PHP get_result काम नहीं कर रहा है

  5. MySQL त्रुटि संख्या 121