这是我的疑问:
SELECT autor.entwickler,anwendung.name
FROM autor
left join anwendung
on anwendung.name = autor.anwendung;
entwickler | name
------------+-------------
Benutzer 1 | Anwendung 1
Benutzer 2 | Anwendung 1
Benutzer 2 | Anwendung 2
Benutzer 1 | Anwendung 3
Benutzer 1 | Anwendung 4
Benutzer 2 | Anwendung 4
(6 rows)
我想在字段name
中 for each 不同的值保留一行,并像这样丢弃其他值:
entwickler | name
------------+-------------
Benutzer 1 | Anwendung 1
Benutzer 2 | Anwendung 2
Benutzer 1 | Anwendung 3
Benutzer 1 | Anwendung 4
在MySQL中,我只需要做:
SELECT autor.entwickler,anwendung.name
FROM autor
left join anwendung
on anwendung.name = autor.anwendung
GROUP BY anwendung.name;
但PostgreSQL给了我一个错误:
错误:"autor.entwickler"列必须出现在GROUP BY子句中
我完全理解这个错误,并假设mysql实现没有postgres实现那么符合SQL.但是我怎样才能得到想要的结果呢?