Saya membuat laporan di php (mysql),
ex:
`select count(id) as tot_user from user_table
select count(id) as tot_cat from cat_table
select count(id) as tot_course from course_table`
Seperti ini saya punya 12 tabel.
Bisakah saya membuatnya dalam satu kueri. Jika iya? Proses menjadi lambat?
Jawaban:
sumber
Jika Anda menggunakan tabel MyISAM, cara tercepat adalah menanyakan statistik secara langsung:
Jika Anda memiliki InnoDB, Anda harus melakukan kueri dengan count () karena nilai yang dilaporkan di information_schema.tables salah.
sumber
Anda pasti dapat menggunakan pernyataan Pilih Agregasi seperti yang didalilkan oleh Ben James, Namun ini akan menghasilkan tampilan dengan kolom sebanyak Anda memiliki tabel. Metode alternatifnya mungkin sebagai berikut:
Hal yang menyenangkan tentang pendekatan seperti ini adalah Anda dapat secara eksplisit menulis pernyataan Union dan menghasilkan tampilan atau membuat tabel temp untuk menampung nilai yang ditambahkan secara berurutan dari Proc cals menggunakan variabel sebagai pengganti nama tabel Anda. Saya cenderung lebih memilih yang terakhir, tetapi itu sangat tergantung pada preferensi dan aplikasi pribadi. Jika Anda yakin tabel tidak akan pernah berubah, Anda menginginkan data dalam format baris tunggal, dan Anda tidak akan menambahkan tabel. tetap berpegang pada solusi Ben James. Jika tidak, saya menyarankan fleksibilitas, Anda selalu dapat meretas lintas tab.
sumber
sumber
sumber
Saya tahu ini adalah tumpukan lama tetapi saya akan memposting kasus pilih Multi-SQL ini
sumber