Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับจำนวนแถวของสองตารางในฐานข้อมูลต่างกันในคำสั่งเดียว MySQL

ใช้ Subquery ใน SELECT ดึง COUNT(*) จากตารางใน database อื่นได้โดยระบุ db_name.table_name

สร้างตารางใน database 'web'

mysql> CREATE TABLE DemoTable1 (Value INT);
mysql> INSERT INTO DemoTable1 VALUES(10), (20);

สร้างตารางใน database 'test'

mysql> CREATE TABLE DemoTable2 (Value INT);
mysql> INSERT INTO DemoTable2 VALUES(100), (200);

คำสั่งนับแถวทั้งสองตารางในคำสั่งเดียว

mysql> SELECT
    -> (SELECT COUNT(*) FROM web.DemoTable1) AS Table1Count,
    -> (SELECT COUNT(*) FROM test.DemoTable2) AS Table2Count;

ผลลัพธ์:

+---------------+---------------+
| Table1Count   | Table2Count   |
+---------------+---------------+
| 2             | 2             |
+---------------+---------------+

คำอธิบาย: ระบุ database_name.table_name ใน Subquery | แต่ละ Subquery คืนค่าเดียว (scalar) | ใช้ AS ตั้งชื่อคอลัมน์ผลลัพธ์ | ทำงานได้ข้าม database บน server เดียวกัน