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

एकाधिक तालिकाओं से एकाधिक गणना कैसे करें

यह रहा SQL Fiddle दिखा रहा है कि नीचे दी गई क्वेरी वास्तव में काम करती है। जैसा कि आप देख सकते हैं, मैं टेबल बना रहा हूं और उन्हें आपके प्रश्न में मौजूद डेटा के साथ पॉप्युलेट कर रहा हूं। फिर मैं आपको आवश्यक डेटा एकत्र करने के लिए नीचे दी गई क्वेरी निष्पादित कर रहा हूं। मैंने गणनाओं को सत्यापित किया और वे सही गणना कर रहे हैं।

SELECT PM.*, 
  (
    PM.SongCount + PM.LessonCount + 
    PM.SongCommCount + PM.LessonCommCount
  ) AS TotalCount 
FROM (
  SELECT P.poster_id, 
    (
      SELECT COUNT(poster_id) 
      FROM song S 
      WHERE P.poster_id = S.poster_id
    ) AS SongCount, 
    (
      SELECT COUNT(poster_id) 
      FROM lesson L 
      WHERE P.poster_id = L.poster_id
    ) AS LessonCount, 
    (
      SELECT COUNT(poster_id) 
      FROM SongComment SC 
      WHERE P.poster_id = SC.poster_id
    ) AS SongCommCount, 
    (
      SELECT COUNT(poster_id) 
      FROM LessonComment LC 
      WHERE P.poster_id = LC.poster_id
    ) AS LessonCommCount 
  FROM poster AS P 
  LIMIT 0, 50
) AS PM
ORDER BY 
  (
    PM.SongCount + PM.LessonCount + 
    PM.SongCommCount + PM.LessonCommCount
  ) DESC


  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 CHAR () फ़ंक्शन और UTF8 आउटपुट?

  2. Mysql के साथ साधारण सदस्यता प्रदाता का उपयोग करना

  3. PHP से बुलाए गए mySQL में दो-शब्द फ़ील्ड नाम का चयन करें

  4. Mysql डेटाटाइप या PHP कोड हर बार मेरे डेटाबेस में एक पेज ब्राउज़र में लोड होने पर 1 से बढ़ जाता है

  5. त्रुटि 1305 (42000):बचत बिंदु ... मौजूद नहीं है