php mysql group分组后怎么排序?

select*from(select*fromcom_newadminwheregroups='Admin'orderbydatedesc)ASgttGROUPBYgtt... select * from (select * from com_newadmin where groups='Admin' order by date desc) AS gtt GROUP BY gtt.name ORDER BY gtt.date DESC在网上找了好多解决方法都无法排序,都是按照默认的排序输出,很无奈 展开
 我来答
ckyyabc
2018-08-13 · 超过23用户采纳过TA的回答
知道答主
回答量:28
采纳率:77%
帮助的人:20.7万
展开全部

在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后,之后的不再执行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式