此查詢返回錯誤,如它不包含在聚合函數或GROUP BY子句中。group by without aggregate function並從中獲取一個值
SELECT SPEC_VALUE,SPEC_SKU
FROM spec
join specdb on specdb_tech_no = SPEC_TECH_NO
WHERE SPEC_TECH_NO = '20081'
這將返回
1 0035862
2 0051197
2 0063493
2 0013372
2 0089991
3 0087134
4 0002602
5 0002041
5 0002042
5 0002050
5 0002044
5 0024315
6 0085601
6 0090337
7 0002789
7 0002790
7 0002791
現在我想查詢應該返回值第一組像
1 0035862
2 0051197
3 0087134
4 0002602
5 0002041
6 0085601
7 0002789
我試圖
SELECT SPEC_VALUE,SPEC_SKU
FROM spec
JOIN specdb on specdb_tech_no = SPEC_TECH_NO
WHERE SPEC_TECH_NO = '20081'
GROUP BY spec.SPEC_VALUE
但它顯示錯誤:
"it is not contained in either an aggregate function or the GROUP BY clause."
我使用不同,但它也顯示錯誤。
鮮明的是幾乎從來沒有一個妥善的解決辦法。一種解決方案是使用聚合函數,如'min(SPEC_SKU)作爲SPEC_SKU'。 – Arvo
您沒有ORDER BY子句,只有這兩列第一個值沒有意義。 – Mihai
您將無法選擇那些沒有列出的訂單欄,以告知引擎您希望從每個組的重複項中獲得您想要的值。 –