Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menggunakan satu sql dalam mysql untuk merangkum berbilang sql yang tidak boleh dikaitkan ke dalam set hasil

Bagaimana untuk menggunakan satu sql dalam mysql untuk merangkum berbilang sql yang tidak boleh dikaitkan ke dalam set hasil

王林
Lepaskan: 2023-05-27 10:24:47
ke hadapan
750 orang telah melayarinya

Proses pengendalian masalah

Penjelasan ringkas tentang senario perniagaan Untuk memudahkan pemahaman, keperluan perniagaan telah dipermudahkan.

Sekarang ada aktiviti pengedaran Semua orang boleh menjadi pengedar untuk berkongsi aktiviti Setelah seseorang membeli melalui pautan aktiviti yang dikongsi, pengedar akan mempunyai maklumat keuntungan juga tanpa berkongsi pautan Ia adalah pembelian langsung, tetapi tidak akan ada pendapatan pengagihan. Dari segi struktur jadual, semua pesanan disimpan dalam jadual pesanan order Bagi mereka yang mempunyai hubungan pengedaran, maklumat mengikat pengedaran (pengedar dan orang yang diedarkan) akan direkodkan dalam jadual record tidak dibeli secara terus melalui pengedaran, Tiada rekod akan ditambahkan pada jadual record. Kini kami dikehendaki mengira jumlah pesanan dan rekod pengedaran pada hari tersebut, dengan mengandaikan bahawa hari tersebut ialah 2022.11.08.

Jika ia adalah pengiraan statistik yang berasingan, ia sangat mudah, cuma kira jumlah nombor terus:

Kira jumlah pesanan pada hari itu:

SELECT COUNT(1) total_couut FROM order WHERE DATE_FORMAT(order_create_time,'%Y-%m-%d') = '2022-11-08'
Salin selepas log masuk

Kira jumlah rekod pengedaran pada hari itu:

SELECT COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,'%Y-%m-%d') = '2022-11-08'
Salin selepas log masuk

Tetapi bagaimana untuk merangkum dua maklumat statistik berbeza ke dalam satu set hasil Berikut ialah penyelesaian, gunakan union all untuk melakukan pertanyaan selari, dan kemudian melakukan pertanyaan penjumlahan. Kaedah pelaksanaan khusus adalah seperti berikut.

1. Gunakan kesatuan semua untuk melakukan pertanyaan selari

Untuk memastikan maklumat parameter yang ditanya adalah konsisten, apabila menanyakan jumlah pesanan, jumlah rekod pengedaran ditambah, dan apabila menanyakan jumlah bilangan rekod pengedaran, jumlah pesanan ditambah Pelaksanaan khusus Seperti berikut:

SELECT COUNT(1)  total_couut,0 record_count FROM order WHERE DATE_FORMAT(order_create_time,'%Y-%m-%d') = '2022-11-08'
union all 
SELECT 0 total_count,COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,'%Y-%m-%d') = '2022-11-08'
Salin selepas log masuk

Keputusan pertanyaan adalah seperti berikut:

Bagaimana untuk menggunakan satu sql dalam mysql untuk merangkum berbilang sql yang tidak boleh dikaitkan ke dalam set hasil

<. . iaitu penjumlahan langsung, kerana nilai medan yang sepadan semuanya adalah 0. Pelaksanaan khusus adalah seperti berikut:

select sum(t.total_count) total_count, sum(t.record_count) record_count from
(SELECT COUNT(1)  total_couut,0 record_count FROM order WHERE DATE_FORMAT(order_create_time,&#39;%Y-%m-%d&#39;) = &#39;2022-11-08&#39;
union all 
SELECT 0 total_count,COUNT(1) record _count FROM record WHEREDATE_FORMAT(create_time,&#39;%Y-%m-%d&#39;) = &#39;2022-11-08&#39;) t
Salin selepas log masuk
Keputusan pertanyaan adalah seperti berikut:

Atas ialah kandungan terperinci Bagaimana untuk menggunakan satu sql dalam mysql untuk merangkum berbilang sql yang tidak boleh dikaitkan ke dalam set hasil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan