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

mysql लूप के साथ पंक्तियों की गिनती

आपको जिस चीज के साथ काम करने की आवश्यकता है वह यह है कि क्या वारंटी अभी भी वैध है या समाप्त हो गई है और वारंटी की तारीख है, इसलिए आपको पहले एक तालिका बनाने की आवश्यकता है जो दर्शाती है कि:

select   product
       , IF( warranty >= NOW(), 1, 0 ) as valid
       , IF( warranty < NOW(), 1, 0 ) as expired
       , warranty as last
from     (
           select   product
                ,   ADDDATE( purchased, INTERVAL 5 YEAR ) as warranty
           from     productWarranty
         ) w
group by product
;

इससे आपको कुछ ऐसा मिलेगा:

+---------+-------+---------+---------------------+
| product | valid | expired | warranty            |
+---------+-------+---------+---------------------+
| Hammer  |     1 |       0 | 2017-01-01 00:00:00 |
| Nipper  |     1 |       0 | 2017-01-01 00:00:00 |
| Nipper  |     1 |       0 | 2017-01-01 00:00:00 |
| Nipper  |     1 |       0 | 2017-01-01 00:00:00 |
| Saw     |     1 |       0 | 2017-01-01 00:00:00 |
| Saw     |     0 |       1 | 2011-01-01 00:00:00 |
| Saw     |     1 |       0 | 2017-01-01 00:00:00 |
| Saw     |     1 |       0 | 2017-01-01 00:00:00 |
+---------+-------+---------+---------------------+

फिर आप जिस जानकारी की तलाश कर रहे हैं उसे फ़िल्टर और सारांशित करने के लिए समग्र कार्यों का उपयोग करें:

select   product
       , SUM( IF( warranty >= NOW(), 1, 0 ) ) as valid
       , SUM( IF( warranty < NOW(), 1, 0 ) ) as expired
       , MAX( warranty ) as last
from     (
           select   product
                  , adddate( purchased, interval 5 year ) as warranty
           from productWarranty
         ) w
group by product
;
+---------+-------+---------+---------------------+
| product | valid | expired | last                |
+---------+-------+---------+---------------------+
| Hammer  |     1 |       0 | 2017-01-01 00:00:00 |
| Nipper  |     3 |       0 | 2017-01-01 00:00:00 |
| Saw     |     3 |       1 | 2017-01-01 00:00:00 |
+---------+-------+---------+---------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडनिर्देशक/PHP जांचें कि क्या डेटाबेस से कनेक्ट हो सकता है

  2. angularjs में सामने के छोर से mysql डीबी में डेटा सम्मिलित करना

  3. MySQL क्वेरी मॉनिटरिंग बैश स्क्रिप्ट बनाएं

  4. MySQL कनेक्शन पूल गणना

  5. डुप्लिकेट डेटा को mysql डेटाबेस में दर्ज होने से रोकें