原来的语句为
SELECT id, user_id,higher_id,type,first_read,create_at,update_at
FROM r_read_record
WHERE r_read_record.user_id = $user_id
GROUP BY r_read_record.higher_id
ORDER BY r_read_record.create_at DESC
注:这里因为我用php,所以参数带$.
在mysql中同时使用group by和order by查询出来的结果时不会按照order by的规则进行排序的
即使使用子查询先排序也不行,结合外面的语句就会报错,
正确的打开方式为
SELECT id, user_id,higher_id,type,first_read,max(create_at)create_at,update_at
FROM r_read_record
WHERE r_read_record.user_id = $user_id
GROUP BY r_read_record.higher_id
ORDER BY r_read_record.create_at DESC
结果正确OK