UNION क्वेरी के परिणाम की संख्या (काउंट) प्राप्त करने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें:
SELECT COUNT(*) FROM ( SELECT yourColumName1 from yourTableName1 UNION SELECT yourColumName1 from yourTableName2 ) anyVariableName;
उदाहरण के साथ समझें
आइए दो टेबल बनाते हैं और उनमें कुछ रिकॉर्ड डालते हैं:
पहली टेबल बनाना
mysql> create table union_Table1 ( -> UserId int -> ); Query OK, 0 rows affected (0.47 sec)
पहली टेबल में रिकॉर्ड डालना
mysql> insert into union_Table1 values(1); Query OK, 1 row affected (0.18 sec) mysql> insert into union_Table1 values(10); Query OK, 1 row affected (0.12 sec) mysql> insert into union_Table1 values(20); Query OK, 1 row affected (0.09 sec)
पहली टेबल के रिकॉर्ड देखना
mysql> select *from union_Table1;
+--------+ | UserId | +--------+ | 1 | | 10 | | 20 | +--------+ 3 rows in set (0.00 sec)
दूसरी टेबल बनाना
mysql> create table union_Table2 ( -> UserId int -> ); Query OK, 0 rows affected (0.69 sec)
दूसरी टेबल में रिकॉर्ड डालना
mysql> insert into union_Table2 values(1); Query OK, 1 row affected (0.12 sec) mysql> insert into union_Table2 values(30); Query OK, 1 row affected (0.26 sec) mysql> insert into union_Table2 values(50); Query OK, 1 row affected (0.13 sec)
दूसरी टेबल के रिकॉर्ड देखना
mysql> select *from union_Table2;
+--------+ | UserId | +--------+ | 1 | | 30 | | 50 | +--------+ 3 rows in set (0.00 sec)
दोनों टेबल में यदि कोई रिकॉर्ड समान है, तो UNION उसे केवल एक बार गिनता है। यहाँ UNION क्वेरी पर काउंट करने का तरीका है:
mysql> select count(*) as UnionCount from -> ( -> select distinct UserId from union_Table1 -> union -> select distinct UserId from union_Table2 -> )tbl1;
परिणाम
+------------+ | UnionCount | +------------+ | 5 | +------------+ 1 row in set (0.00 sec)
व्याख्या: पहली टेबल में 1, 10, 20 और दूसरी टेबल में 1, 30, 50 हैं। UNION के बाद यूनिक मान हैं: 1, 10, 20, 30, 50 — कुल 5 रिकॉर्ड।