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 |