php mysql group分组后怎么排序?

select * from (select * from com_newadmin where groups='Admin' order by date desc) AS gtt GROUP BY gtt.name ORDER BY gtt.date DESC在网上找了好多解决方法都无法排序,都是按照默认的排序输出,很无奈

在group时使用*查询有些不合适的, 建议仔细研究group的作用.

一般使用group时, select 字段列表里,一定要包含group的字段, 其余的字段也必须和group字段一一对应的, 不然查询结果会有问题. 然后再根据字段列表里的某些字段进行排序就没有问题了.

-- group_name, group_id, group_add_time 个字段分别为分类名称,分类id和分类添加的时间, 它们是一一对应的. 如此查询是正确的
select group_name, group_id, group_add_time from table_name group by group_id order by group_add_time asc;

-- 查询错误. 一个分组(group_id)里可能有多个uid, 非一一对应
select uid, group_name, group_id, group_add_time from table_name group by group_id order by group_add_time asc;

追问

没用呀,执行group by后,之后的不再执行了

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网