Всем привет.
Возникла проблема. В админке сайта, с помощью sql-запроса, выводится список диалогов пользователей, причем выборка нацелена на вывод уникальных диалогов, то есть, к примеру, юзер1 и юзер2 (все их совместные сообщения) объединяются в одну строку, в которой указаны их имена, id и время последнего общего сообщения. Вот код запроса:
$query1 = "SELECT DISTINCT IF(fromid < toid, fromid, toid) AS user1,IF(fromid >= toid, fromid, toid) AS user2, data FROM cmsa22_b_chat AS ccc ORDER BY data DESC";
$rst=mysqli_query($db,"SELECT user1,user2 FROM ($query1) AS rows GROUP BY user1,user2 ORDER BY data DESC LIMIT 100");
Кстати, составлен этот код был благодаря более опытным коллегам с toster.ru, за что низкий им поклон ещё раз! (сорри за оффтоп)
Недавно сайт был перенесен на более современный сервер. После переноса MYSQL стал выдавать такую ошибку:
Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'rows.data' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Я понимаю, что что-то не так с GROUP BY, но никак не въезжаю - что именно? Буду благодарен за совет.