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

मैं खंड होने में दो शर्त कैसे बना सकता हूं

SELECT . के तहत दस्तावेज़ के रूप में सिंटैक्स:

दूसरे शब्दों में, इसे बाद . लागू किया जाता है ग्रुपिंग ऑपरेशन किया गया है (WHERE . के विपरीत) , जो पहले . किया जाता है कोई समूह संचालन)। देखें WHERE vs HAVING

इसलिए, आपकी वर्तमान क्वेरी पहले निम्न से परिणाम सेट बनाती है:

SELECT   COUNT(domain) AS `sum domains`, file
FROM     `table`
GROUP BY Number

इसे sqlfiddle पर देखें :

| SUM DOMAINS |      FILE |
---------------------------
|           2 | aaa.com_1 |
|           2 | bbb.com_1 |
|           1 | eee.com_1 |

जैसा कि आप देख सकते हैं, file . के लिए चयनित मान कॉलम प्रत्येक समूह के मानों में से एक है—जैसा कि MySQL के अंतर्गत प्रलेखित है। GROUP BY . के एक्सटेंशन :

तब आपकी वर्तमान क्वेरी आपके HAVING . के अनुसार इन परिणामों को फ़िल्टर करने के लिए आगे बढ़ती है खंड:

HAVING   COUNT(Number) > 1 AND file LIKE '%\_1'

file . के मानों के साथ ऊपर चयनित, हर एक समूह दूसरे मानदंड पर मेल खाता है; और पहले दो समूह पहली कसौटी पर मेल खाते हैं। इसलिए पूरी क्वेरी के नतीजे हैं:

| SUM DOMAINS |      FILE |
---------------------------
|           2 | aaa.com_1 |
|           2 | bbb.com_1 |

निम्नलिखित उपरोक्त आपकी टिप्पणियाँ , आप file . पर रिकॉर्ड्स को फ़िल्टर करना चाहते हैं पहले समूह बनाना और फिर परिणामी समूहों को एक से अधिक मिलान वाले लोगों के लिए फ़िल्टर करना। इसलिए WHERE . का उपयोग करें और HAVING क्रमशः (और Number . चुनें) file . के बजाय प्रत्येक समूह की पहचान करने के लिए):

SELECT   Number, COUNT(*) AS `sum domains`
FROM     `table`
WHERE    file LIKE '%\_1'
GROUP BY Number
HAVING   `sum domains` > 1

इसे sqlfiddle पर देखें :

| NUMBER | SUM DOMAINS |
------------------------
|    222 |           2 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज 10 पर कार्यक्षेत्र के साथ MySQL 8 कैसे स्थापित करें

  2. दी गई आईडी के लिए नवीनतम पंक्ति प्राप्त करें

  3. एकल कॉलम वाली तालिका से पहले N को छोड़कर सभी पंक्तियों को हटा दें

  4. php और mysql के साथ उप-मेनू के साथ गतिशील मेनू कैसे बनाएं?

  5. एसक्यूएल अद्यतन पसंद के साथ