MySQL tidak mendukung Fungsi Jendela (*). Ada yang kami sebut "fungsi jendela orang miskin" dalam bentuk GROUP_CONCAT () .
Ada banyak trik yang digunakan GROUP_CONCAT
untuk meniru fungsi jendela. Mereka tidak secantik (secara sintaksis) dan kadang-kadang terlalu terbatas. Saya sudah menulis beberapa. Lihat posting blog saya mengeluh tentang fungsi jendela yang hilang , dan menautkan ke berbagai solusi berdasarkan GROUP_CONCAT
.
Secara khusus, Memilih data kolom non agregat tertentu dalam GROUP BY dan SQL: memilih catatan N teratas per grup, solusi lain mungkin menarik bagi Anda dan dapat memberi Anda awal yang baik.
Hal-hal yang harus Anda perhatikan GROUP_CONCAT()
:
- Bisa menggunakan
DISTINCT
- Bisa menggunakan
ORDER BY ... ASC/DESC
- Dapat diatur
SEPARATOR
- Seperti fungsi agregasi apa pun - ia membuang nilai NULL; banyak trik untuk itu.
(*) Dukungan untuk Fungsi Jendela telah ditambahkan di MySQL 8