如何使用distinct对数据进行排序呢???大神指教

时间:2021-09-18 04:26:42
SELECT distinct 名称 FROM 数据源 WHERE 日期 Between '2016-4-9'  And '2016-4-9', 102  order by 编号 asc
上面语句会报错“如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。”
但是我不想在名称后面加编号这样加完之后就又会出现重复数据。因为名称相同编号会有不同所以使用distinct 两个条件就会出现重复值我只想取出不重复的名称排序按编号排都在这个表中请问该如何做

6 个解决方案

#1


版主大神请现身

#2


用法错
用distinct 
ORDER BY 只能指定显示列名

#3


, 102 --条件这是什么

#4


可改为
SELECT  名称 FROM 数据源 WHERE 日期 Between '2016-4-9'  And '2016-4-9' GROUP BY 名称 order by min(编号) asc


把#2中这个去掉( ,102)

#5


引用 4 楼 roy_88 的回复:
可改为
SELECT  名称 FROM 数据源 WHERE 日期 Between '2016-4-9'  And '2016-4-9' GROUP BY 名称 order by min(编号) asc


把#2中这个去掉( ,102)

艾玛,非常感谢!!!

#6


哥能带我学就好数据库系统的入门吗,

#1


版主大神请现身

#2


用法错
用distinct 
ORDER BY 只能指定显示列名

#3


, 102 --条件这是什么

#4


可改为
SELECT  名称 FROM 数据源 WHERE 日期 Between '2016-4-9'  And '2016-4-9' GROUP BY 名称 order by min(编号) asc


把#2中这个去掉( ,102)

#5


引用 4 楼 roy_88 的回复:
可改为
SELECT  名称 FROM 数据源 WHERE 日期 Between '2016-4-9'  And '2016-4-9' GROUP BY 名称 order by min(编号) asc


把#2中这个去掉( ,102)

艾玛,非常感谢!!!

#6


哥能带我学就好数据库系统的入门吗,