Untuk hari ini, Anda telah memecahkan masalah. Tapi besok, ketika Anda menjalankan kueri yang sama, Anda akan mendapatkan kesalahan yang berbeda.
Di versi MySQL atau MariaDB yang lebih lama, Anda akan mendapatkan "nilai apa pun" untuk price_available
bila tidak GROUPing BY
dia. Itu secara efektif berada di antara "praktik buruk" dan "pelanggaran standar". Relatif baru-baru ini, MariaDB, kemudian MySQL, beralih ke "hanya grup penuh oleh". Pada saat itu, ANY_VALUE()
muncul untuk MySQL, tetapi tampaknya MariaDB gagal.
Solusi lama, yang seharusnya aman untuk versi lama dan baru adalah dengan menggunakan MIN(price_available)
atau beberapa fungsi agregat lainnya. (Jika kolom mungkin memiliki NULL
, berbagai agregat mungkin atau mungkin tidak menangani NULL
cara yang Anda inginkan.)
Lihat juga ONLY_FULL_GROUP_BY
pengaturan.