Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

gabungkan semua dua tabel tetapi jumlah kolom yang berbeda

Lakukan agregasi sebelum union all :

select sum(cnt) as total
FROM ((SELECT count(*) as cnt
       FROM database1.orders
       WHERE number LIKE '11111111111111111'
      )
      UNION ALL
      (SELECT count(*) as cnt
       FROM database2.orders
       WHERE number LIKE '11111111111111111'
      )
     ) t;

Catatan Saya mengubah pembatas string menjadi tanda kutip tunggal daripada tanda kutip ganda. Ini adalah praktik yang baik untuk menggunakan tanda kutip tunggal untuk string dan konstanta tanggal (dan tidak ada yang lain).

Omong-omong, Anda juga dapat melakukan ini menggunakan join:

select o1.cnt1, o2.cnt1, (o1.cnt1 + o2.cnt1) as total
FROM (SELECT count(*) as cnt1
      FROM database1.orders
      WHERE number LIKE '11111111111111111'
     ) o1 cross join
     (SELECT count(*) as cnt2
      FROM database2.orders
      WHERE number LIKE '11111111111111111'
     ) o2;

Ini memudahkan untuk mendapatkan jumlah individu untuk dua database.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:bidang unik perlu menjadi indeks?

  2. Jalankan hasil pemilihan sql di MySql

  3. menyimpan data JSON di mysql

  4. Melarikan diri dari string dengan python mysql.connector

  5. mysql case sensitif di utf8_general_ci