Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GROUP BYiçinde toplama işlevlerine izin verilmez, ancak <sqlExpr>bulunur.
Parametreler
- sqlExpr: Toplama işlevi içeren ifade.
Açıklama
GROUP BY yan tümcesinin amacı, ayrı grup kümesini tanımlamaktır.
Ardından her satır grubu, SELECT listesindeki toplama işlevleri kullanılarak tek bir satıra daraltılır.
Son olarak, HAVING yan tümcesini kullanarak gruplandırılmış satırları filtreleyebilirsiniz.
sqlExpr, GROUP BY listesi veya SELECT yan tümcesi yerine HAVING yan tümcesinde bulunur.
Azaltma
Hatanın azaltılması nedene bağlıdır:
Doğru işlevi belirttiniz mi?
sqlExprdeğerini toplama işlevi olmayan uygun bir işlevle değiştirin.İfadeyi toplamayı planlıyor musunuz?
İfadeyi
GROUP BYlistesinden kaldırın veSELECTlistesine ekleyin.Toplanan ifadeyi filtrelemeyi planlıyor musunuz?
İfadeyi
GROUP BYyan tümcesinden kaldırın veBOOLEANişlecini kullanarakHAVINGyan tümcesine ekleyin.
Örnekler
-- An aggregation in the GROUP BY clause
> SELECT a FROM VALUES(1, 2), (1, 3) AS T(a, b) GROUP BY a, sum(b);
[GROUP_BY_AGGREGATE] Aggregate functions are not allowed in GROUP BY, but found sum(T.b).; line 1 pos 58;
-- Move the expression to the SELECT list
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3) AS T(a, b) GROUP BY a;
1 5
-- An aggregation in the GROUP BY clause
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3), (2, 1) AS T(a, b) GROUP BY a, sum(b) > 1;
[GROUP_BY_AGGREGATE] Aggregate functions are not allowed in GROUP BY, but found (sum(T.b) > CAST(1 AS BIGINT)).; line 1 pos 74;
-- Move the expression to the HAVING clause
> SELECT a, sum(b) FROM VALUES(1, 2), (1, 3), (2, 1) AS T(a, b) GROUP BY a HAVING sum(b) > 1;
1 5