mySQL Group By

Katakan kita ada set of data seperti di bawah:

id username name<br />
-------------------------<br />
1 ahmad   Ahmad Fuad<br />
2 bakri   Mohd Bakri<br />
3 zul     Zulkifli<br />
4 ahmad   Ahmad Fuad

dan kita hendak paparkan senarai user menggunakan fungsi GROUP BY

$sa = "SELECT * FROM table<br />
WHERE id IN (<br />
SELECT MAX(id) FROM table<br />
GROUP BY username<br />
)<br />
ORDER BY name ASC<br />
";

Bagi pengguna mysql, kod di atas akan memaparkan senarai pengguna tanpa duplicate username melalui penggunaan fungsi GROUP BY serta baris yang terakhir untuk data berkenaan. Bagi kes ini, id pengguna bernama Ahmad Fuad adalah 4. Fungsi subquery adalah untuk mendapatkan id terakhir (menggunakan fungsi MAX) setelah username di group by.

Comments