Kumpulan MySQL Mengikut dan Jumlah Nilai Jumlah Lajur Lain
Dalam MySQL, apabila menggunakan klausa GROUP BY untuk mengumpulkan baris berdasarkan satu atau lebih banyak lajur, adalah perkara biasa untuk mengira nilai agregat untuk lajur lain. Dalam contoh ini, katakan anda mempunyai jadual dengan dua lajur: 'perkataan' dan 'jumlah'. Anda ingin menjumlahkan amaun untuk setiap perkataan unik.
Isu yang Ditemui:
Apabila cuba menggunakan klausa GROUP BY seperti berikut:
SELECT word, SUM(amount) FROM `Data` GROUP BY 'word'
anda mungkin menghadapi ralat yang menyatakan bahawa lajur itu tidak sah.
Penyelesaian:
Masalah timbul kerana anda telah menyertakan nama lajur 'perkataan' dalam petikan tunggal, yang menyebabkan ia dianggap sebagai rentetan. Sebaliknya, hanya alih keluar petikan tunggal di sekitar nama lajur:
SELECT word, SUM(amount) FROM Data GROUP BY word
Sinttaks yang diperbetulkan ini akan mengumpulkan baris dengan betul mengikut lajur 'perkataan' dan menjumlahkan lajur 'jumlah' untuk setiap perkataan unik, memberikan yang dikehendaki hasil:
word | amount |
---|---|
dog | 6 |
elephant | 2 |
Atas ialah kandungan terperinci Bagaimana Menggunakan GROUP BY dan SUM dengan betul dalam MySQL untuk Mengagregat Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!