急!sql 中用了distinct 就不能再用order by?

来源:百度知道 编辑:UC知道 时间:2024/06/19 04:29:50
SELECT distinct haoma
FROM data ORDER BY id desc
不行,总是冲突。怎么解决啊?急啊!大哥帮忙了。谢谢了!
谢谢大哥们的及时帮助!可是按照select distinct haoma,id from data order by ID DESC 做,出来的结果haoma还是有重复值。
而且,我的haoma字段是文本,不是数字,所以按照haoma 排序没有意义。
非常着急!急盼!

好像不是因为这个吧。如果像下面这样就不会有问题:

SELECT distinct haoma
FROM data ORDER BY haoma desc

直观点说是这样:
可能多个id都对应着同样的haoma,而一个haoma的取值只在结果中产生一条记录,于是dbms就不知道按照哪个id排序了,然后就出错了

顶一下,二楼的解释非常正确,如果是我也要这样做,解释很精彩,直达要点。

这样解释我想你会更明白:

select distinct haoma from data
这个查询中,所得的结果集中只有haoma这个一列名,而在这个结果集中让其按ID按序总是不行吧?

如果是select * from data order by id DESC就是正确的,因为这其中包含着ID列!所以如果你执意让用ID排序的话可以试试这样:
select distinct haoma,id from data order by ID DESC应该是可以的!