是否可以列出僅包含唯一海岸和區域的城市名稱? (即,存在在相同的海岸和區域中的多個城市中,因此它們應當被排除)SQL GROUP BY兩個不同的組
實施例:
TABLE_NAME = MAP
City Coast Region
New York East 1
Buffalo East 1
LA West 2
Seattle West 1
San Jose West 3
Florida East 4
Boston East 2
San Diego West 2
在本例中,我想輸出是:
Seattle
San Jose
Florida
Boston
紐約和布法羅省略,因爲他們共享相同的海岸和地區,就像洛杉磯和聖地亞哥一樣。
我想:
SELECT DISTINCT COAST, REGION
FROM MAP
這給了我的成本和地區,而不是城市的名稱。
我想:
SELECT CITY
FROM MAP
GROUP BY COAST, REGION
但它給了我一個錯誤(請參閱下面的錯誤)。
感謝您的幫助!
編輯: 我試着添加HAVING子句,但它仍然給我與以前相同的錯誤。這是我的錯誤:
錯誤1055(42000); SELECT列表的表達式#1不在GROUP BY子句中,並且包含非聚集列run_iu98jon.MAP.CITY,它在功能上不依賴於GROUP BY子句中的列;這與sql_mode = only_full_group_by不兼容
錯誤可能是您在上面的上一個查詢中拼寫錯誤「COAST」。如果您正確拼寫COAST,則會返回所有不同的城市名稱,但不會引發錯誤。 –