Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में अलग-अलग पंक्तियों पर अलग-अलग शर्तों को पूरा करने वाले मान कैसे चुनें?


आप IN() और GROUP BY का उपयोग करके अलग-अलग पंक्तियों पर अलग-अलग शर्तों को पूरा करने वाले मान चुन सकते हैं। सिंटैक्स इस प्रकार है:

SELECT yourColumnName1 FROM yourTableName WHERE yourColumnName2 IN(value1, value2, ... N) GROUP BY yourColumnName1 HAVING COUNT(DISTINCT yourColumnName2) = conditionValue;

उपरोक्त सिंटैक्स को समझने के लिए, पहले एक टेबल बनाते हैं। टेबल बनाने का क्वेरी:

mysql> CREATE TABLE DifferentRows (
    -> FirstRow INT,
    -> SecondRow INT
    -> ); Query OK, 0 rows affected (0.72 sec)

INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:

mysql> INSERT INTO DifferentRows VALUES(10,10); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DifferentRows VALUES(10,100); Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DifferentRows VALUES(10,300); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DifferentRows VALUES(20,100); Query OK, 1 row affected (0.18 sec)

SELECT स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:

mysql> SELECT * FROM DifferentRows;

निम्न आउटपुट है।

+----------+-----------+
| FirstRow | SecondRow |
+----------+-----------+
| 10       | 10        |
| 10       | 100       |
| 10       | 300       |
| 20       | 100       |
+----------+-----------+
4 rows in set (0.00 sec)

यहाँ वह क्वेरी है जो अलग-अलग पंक्तियों पर अलग-अलग शर्तों को पूरा करने वाले मान चुनती है। यह सभी विशिष्ट FirstRow रिकॉर्ड देता है जिनमें SecondRow 10, 100, 300 हैं:

mysql> SELECT FirstRow FROM DifferentRows
    -> WHERE SecondRow IN(10,100,300)
    -> GROUP BY FirstRow
    -> HAVING COUNT(DISTINCT SecondRow) = 3;

निम्न आउटपुट है।

+----------+
| FirstRow |
+----------+
| 10       |
+----------+
1 row in set (0.00 sec)

  1. - MySQL SELECT क्वेरी: किसी टेबल से उन रो को चुनें जो दूसरी टेबल में नहीं हैं

    हमारे उदाहरण के लिए, हम दो टेबल बनाएंगे और नेचुरल लेफ्ट जॉइन लागू करके उन रो को प्राप्त करेंगे जो पहली टेबल में हैं लेकिन दूसरी में नहीं। पहली टेबल बनाना। mysql> create table FirstTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.48 sec) पहली ट

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर

  1. - MySQL में GROUP_CONCAT और CASE से अलग शर्तों वाले समान कॉलम के मान जोड़ें

    एक ही कॉलम (Name) की अलग-अलग शर्तों (Subject) के मानों को जोड़ने के लिए CASE के साथ सशर्त एग्रीगेशन और CONCAT या GROUP_CONCAT का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1869 ( Id INT, Subject VARCHAR(20), Name VARCHAR(20) ); डेटा डालें mysql> INSERT INTO DemoTable1869 VALUES(