Mysql 按列id列出列名称顺序,不重复

Mysql 按列id列出列名称顺序,不重复,mysql,sql,Mysql,Sql,我的表中有两列table_num,id,称为medium 我想根据DESC的id序列,回显不重复的表_num 我通过这个查询得到结果4,2,7,5,3,但我想要的结果是4,5,7,2,3 您描述的顺序是升序,而不是降序: SELECT DISTINCT table_num FROM medium ORDER BY id ASC -- Here ------------------------------------------^ 按分组,按每个表编号的最大id降序排序: select tab

我的表中有两列table_num,id,称为medium

我想根据DESC的id序列,回显不重复的表_num

我通过这个查询得到结果4,2,7,5,3,但我想要的结果是4,5,7,2,3


您描述的顺序是升序,而不是降序:

SELECT DISTINCT table_num FROM medium ORDER BY id ASC
-- Here ------------------------------------------^

按分组,按每个表编号的最大id降序排序:

select table_num
from medium
group by table_num
order by max(id) desc
要更好地了解其工作原理,请将
max(id)
添加到选择列表:

select table_num, max(id) as max_id
from medium
group by table_num
order by max_id desc

使用ASC时,我的输出为35724,但我需要基于idFirst的4,5,7,2,3,将执行DISTINCT,并删除id为14和15的值,而不是图像,请提供样本数据。然后将执行order by,这就是为什么您得到的是4,2,7,5,3而不是4,5,7,2,3。请再次检查问题我已将输出修改为4,5,7,2,3 order by现在已调整,为了适应新的要求。是的,我知道了,谢谢你……你能解释一下……这样我就可以学习使用ASC时,我的输出是35724,但我需要基于id的4,5,7,2,3
select table_num, max(id) as max_id
from medium
group by table_num
order by max_id desc