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

MySQL में WHERE क्लॉज में वास्तविक रो काउंट (COUNT(*)) का उपयोग कैसे करें बिना वही क्वेरी सबक्वेरी के रूप में लिखे?


WHERE क्लॉज की मदद से इसे प्राप्त करें।

सिंटैक्स निम्नलिखित है:

SELECT yourColumnName1, yourColumnName2, ...N FROM yourTableName WHERE (SELECT COUNT(*) FROM yourTableName) = 2;

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

mysql> create table CountWithSubqueryDemo
    -> (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName VARCHAR(20)
    -> ); Query OK, 0 rows affected (2.09 sec)

INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें।

क्वेरी निम्नलिखित है:

mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('John'); Query OK, 1 row affected (0.54 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES(NULL); Query OK, 1 row affected (0.36 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('Carol'); Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES(''); Query OK, 1 row affected (0.31 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('Bob'); Query OK, 1 row affected (1.24 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES(NULL); Query OK, 1 row affected (0.30 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('Sam'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('Mike'); Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('James'); Query OK, 1 row affected (0.26 sec)

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

क्वेरी निम्नलिखित है:

mysql> SELECT * FROM CountWithSubqueryDemo;

निम्नलिखिक आउटपुट है:

+----+--------------+
| Id | EmployeeName |
+----+--------------+
|  1 | John         |
|  2 | NULL         |
|  3 | Carol        |
|  4 |              |
|  5 | Bob          |
|  6 | NULL         |
|  7 | Sam          |
|  8 | Mike         |
|  9 | James        |
+----+--------------+
9 rows in set (0.19 sec)

WHERE क्लॉज में वास्तविक रो काउंट का उपयोग करने का तरीका निम्नलिखित है:

mysql> SELECT Id, EmployeeName FROM CountWithSubqueryDemo
    -> WHERE
    -> (
    -> SELECT COUNT(*) FROM CountWithSubqueryDemo
    -> ) = 2; Empty set (0.03 sec)

उपरोक्त क्वेरी में हमें खाली सेट मिल रहा है क्योंकि यह तभी रो लौटाता है जब टेबल में केवल दो रिकॉर्ड हों। इसलिए, आइए टेबल से सभी रिकॉर्ड डिलीट करें और टेबल में 2 रिकॉर्ड इन्सर्ट करें।

क्वेरी निम्नलिखित है:

mysql> TRUNCATE TABLE CountWithSubqueryDemo; Query OK, 0 rows affected (1.95 sec)

INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें।

क्वेरी निम्नलिखित है:

mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES('James'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO CountWithSubqueryDemo(EmployeeName) VALUES(NULL); Query OK, 1 row affected (0.46 sec)

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

क्वेरी निम्नलिखित है:

mysql> SELECT * FROM CountWithSubqueryDemo;

निम्नलिखित आउटपुट है:

+----+--------------+
| Id | EmployeeName |
+----+--------------+
|  1 | James        |
|  2 | NULL         |
+----+--------------+
2 rows in set (0.00 sec)

अब WHERE क्लॉज में रो काउंट के लिए क्वेरी निम्नलिखित है:

mysql> SELECT Id, EmployeeName FROM CountWithSubqueryDemo
    -> WHERE
    -> (
    -> SELECT COUNT(*) FROM CountWithSubqueryDemo
    -> ) = 2;

निम्नलिखित आउटपुट है:

+----+--------------+
| Id | EmployeeName |
+----+--------------+
|  1 | James        |
|  2 | NULL         |
+----+--------------+
2 rows in set (0.00 sec)

  1. - MySQL VIEW में WHERE क्लॉज का उपयोग कैसे करें?

    MySQL VIEW पर WHERE क्लॉज लागू करना MySQL VIEW एक आभासी टेबल है जो एक SELECT क्वेरी के परिणाम सेट पर आधारित होती है। आप किसी भी नियमित टेबल की तरह VIEW पर WHERE क्लॉज लागू करके परिणामों को फ़िल्टर कर सकते हैं। उदाहरण: छात्र VIEW बनाना और फ़िल्टर करना पहले एक छात्र टेबल बनाते हैं: SELECT * FROM Dem

  1. - MySQL में अलग-अलग रिकॉर्ड्स की गिनती को उसी पंक्ति में कैसे दिखाएं?

    परिचय MySQL में GROUP_CONCAT(), COUNT() और GROUP BY का उपयोग करके डुप्लिकेट मानों वाले समूहों की जानकारी एक ही पंक्ति में प्राप्त की जा सकती है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable(CompanyName) VALUES(Amazon); Query OK, 1 row affected (0

  1. - MySQL कॉलम में प्रत्येक पंक्ति के समान मान की गिनती करें?

    प्रत्येक पंक्ति के समान मान की गिनती के लिए COUNT(*) का उपयोग GROUP BY क्लॉज के साथ करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1818 ( Id int, Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> ins