Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggabungkan COUNT(*) Keputusan dengan Cekap daripada Berbilang Jadual ke dalam Satu Baris?

Bagaimanakah Saya Boleh Menggabungkan COUNT(*) Keputusan dengan Cekap daripada Berbilang Jadual ke dalam Satu Baris?

Linda Hamilton
Lepaskan: 2025-01-11 13:52:42
asal
397 orang telah melayarinya

How Can I Efficiently Combine COUNT(*) Results from Multiple Tables into a Single Row?

Menggabungkan COUNT(*) Hasil daripada Pelbagai Jadual: Perbandingan UNION dan Produk Cartesian

Menganalisis data merentas berbilang jadual selalunya memerlukan hasil gabungan. Tugas yang kerap dilakukan ialah mendapatkan kiraan baris serentak daripada jadual yang berbeza.

Katakan anda memerlukan kiraan baris daripada tab1 dan tab2. Pertanyaan UNION mungkin kelihatan seperti penyelesaiannya:

<code class="language-sql">SELECT COUNT(*) AS Count_1 FROM schema.tab1 UNION ALL SELECT COUNT(*) AS Count_2 FROM schema.tab2</code>
Salin selepas log masuk

Walau bagaimanapun, ini menghasilkan set hasil menegak, dengan Count_1 dan Count_2 dalam baris yang berasingan. Untuk keluaran satu baris yang lebih teratur, pertimbangkan pendekatan produk Cartesian:

<code class="language-sql">SELECT
  (SELECT COUNT(*) FROM tab1) AS count1,
  (SELECT COUNT(*) FROM tab2) AS count2
FROM dual;</code>
Salin selepas log masuk

Begini cara pertanyaan ini berfungsi:

  • Jadual dual (jadual dummy dalam banyak sistem pangkalan data) menyediakan satu baris, bertindak sebagai rangka kerja untuk hasil gabungan.
  • Subqueries secara bebas mengira COUNT(*) untuk setiap jadual.
  • Hasil subkueri ini dialiaskan sebagai count1 dan count2, menghasilkan output dua lajur, satu baris.

Kaedah ini menggabungkan kiraan baris dengan cekap daripada kedua-dua jadual menjadi satu baris berstruktur, menghasilkan hasil yang diingini:

<code>count1 | count2
-------+-------
  123  |   456</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan COUNT(*) Keputusan dengan Cekap daripada Berbilang Jadual ke dalam Satu Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan