Apabila rekod data semuanya kosong, tidak akan ada perbezaan dalam hasil pertanyaan Tetapi apabila lajur yang ditanya oleh COUNT(1) kosong, yang kosong akan dialih keluar dan tidak direkodkan dalam statistik dengan cara ini. keputusan pertanyaan Keputusan adalah berbeza.
Anda boleh melihat bagaimana sql anda akan diterjemahkan oleh mysql dalam sql berikut
Versi saya ialah mysql 5.6.26, berikut ialah hasil terjemahan:
Jadi, pada pendapat saya, versi mysql yang lebih baru tidak lagi mempunyai perbezaan ini, tetapi saya masih menggunakan count(1) sebagai kebiasaan.
Apabila rekod data semuanya kosong, tidak akan ada perbezaan dalam hasil pertanyaan Tetapi apabila lajur yang ditanya oleh COUNT(1) kosong, yang kosong akan dialih keluar dan tidak direkodkan dalam statistik dengan cara ini. keputusan pertanyaan Keputusan adalah berbeza.