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

महीने के हिसाब से 2 टेबल और ग्रुप से गिनती हो रही है

महीने के साथ दोनों तालिकाओं में शामिल हों:

SELECT MONTH(I.date) AS `month`
     , COUNT(I.ID) AS `countin`
     , COUNT(O.ID) AS `countOUT`
  FROM TableIN I
 LEFT JOIN TableOUT O
    ON MONTH(I.Date) = MONTH(O.Date)
 GROUP BY MONTH(I.date)
UNION
SELECT MONTH(O.date) AS `month`
     , COUNT(I.ID) AS `countin`
     , COUNT(O.ID) AS `countOUT`
  FROM TableIN I
 RIGHT JOIN TableOUT O
    ON MONTH(I.Date) = MONTH(O.Date)
 GROUP BY MONTH(I.date);

परिणाम:

| MONTH | COUNTIN | COUNTOUT |
------------------------------
|     5 |       1 |        1 |
|     7 |       1 |        1 |
|     6 |       0 |        1 |

देखें यह SQLFiddle

साथ ही महीने के हिसाब से अपना परिणाम ऑर्डर करने के लिए आपको इस तरह की उप-क्वेरी का उपयोग करना होगा:

SELECT * FROM
(
    SELECT MONTH(I.date) AS `month`
         , COUNT(I.ID) AS `countin`
         , COUNT(O.ID) AS `countOUT`
      FROM TableIN I
     LEFT JOIN TableOUT O
        ON MONTH(I.Date) = MONTH(O.Date)
     GROUP BY MONTH(I.date)
    UNION
    SELECT MONTH(O.date) AS `month`
         , COUNT(I.ID) AS `countin`
         , COUNT(O.ID) AS `countOUT`
      FROM TableIN I
     RIGHT JOIN TableOUT O
        ON MONTH(I.Date) = MONTH(O.Date)
     GROUP BY MONTH(I.date)
    ) tbl
ORDER BY Month;

देखें यह SQLFiddle



  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, mysqladmin, mysqld के बीच अंतर

  2. MySQL में डेटा छोड़े बिना विभाजन कैसे छोड़ें?

  3. मैक ओएसएक्स पर मैसकल 5.6 सिरदर्द

  4. SQL कॉलम में सबसे अधिक बार आने वाला मान ज्ञात करें

  5. MySQL:एक बड़ी तालिका को विभाजन या अलग तालिकाओं में विभाजित करना?