Ik heb volgende query en snap niet goed waarom ik hier volgende error bij krijg:
Error in query (1055): Expression #1 of HAVING clause is not in GROUP BY clause and contains nonaggregated column 'db.inner_user.display_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Er wordt toch op display name geaggregeerd? Dus waarom deze error? Als ik de subquery apart uitvoer lukt dit zonder problemen:
Error in query (1055): Expression #1 of HAVING clause is not in GROUP BY clause and contains nonaggregated column 'db.inner_user.display_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| SELECT outer_user.id, outer_user.display_name FROM `user` outer_user WHERE LOWER(outer_user.display_name) IN ( SELECT LOWER(inner_user.display_name) AS lower_display_name FROM `user` inner_user GROUP BY lower_display_name HAVING COUNT(lower_display_name) > 1 ) |
Er wordt toch op display name geaggregeerd? Dus waarom deze error? Als ik de subquery apart uitvoer lukt dit zonder problemen:
code:
1
2
3
4
5
6
7
8
| SELECT LOWER(inner_user.display_name) AS lower_display_name FROM `user` inner_user GROUP BY lower_display_name HAVING COUNT(lower_display_name) > 1 |