Kesalahannya cukup jelas. Kolom yang tidak diagregasi di SELECT kueri agregasi harus cocok dengan kunci. Dalam kueri Anda, BILLDATE tidak diagregasi dan bukan kunci.
Perbaikan sederhananya adalah:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Jika Anda hanya menginginkan satu baris per BILLNO -- atau jika Anda mengetahui BILLDATE adalah sama untuk semua BILLNO -- maka Anda dapat menggunakan fungsi agregasi sebagai gantinya:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;