sql 去重并排序问题

字段1字段2字段31aA2aB3bV4bF5cO6dG类似上边的表,现在想去重查询出字段2所有值,然后按字段1排序,应该怎么写sql语句?结果出来应该是:abcd同志们:... 字段1 字段2 字段3
1 a A
2 a B
3 b V
4 b F
5 c O
6 d G

类似上边的表,现在想去重查询出字段2所有值,然后按字段1排序,应该怎么写sql语句?
结果出来应该是:
a
b
c
d
同志们:select distinct 字段2 from 表 order by 字段1
这种写法是错误的,sql提示:若指定了SELECT DISTINCT,那么ORDER BY子句中的项就必须出现在选择列表中。

walkmens,您说的还是没有进行排序啊,我主要是想去重后按字段1排序的。。。
意思就是select distinct 字段2 from 表 order by 字段1,当然这么写是错误的。
怎么能实现这样的查询啊?
帅气の魔鬼:你的语句是错误的,通不过的。。。
展开
 我来答
百度网友cf38862
推荐于2017-11-23 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:140万
展开全部
SELECT A.* FROM 表 A JOIN
(
SELECT MIN(字段1) AS 字段1,字段2 FROM 表 GROUP BY 字段2
) B ON (A.字段1=B.字段1 AND A.字段2=B.字段2)
ORDER BY A.字段1

没有测试,想着就写了,你试一下吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吉紫萱功彭
2019-08-20 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:927万
展开全部
select
distinct
name
from
a
where
eid
in(select
eid
from
b
group
by
eid)
要求查询在b表出现过的企业名称,不重复
这样就够了.至于根据时间倒叙
和结果没影响.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一碗氮青47
2010-02-25 · TA获得超过137个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:91.5万
展开全部
Select distinct 字段1,字段2 from 表名 order by 字段1

保证正确,我刚刚试过了,使用distinct(不重复)后order by 的字段也必须出现在Select之中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qsc800528
2010-02-25 · TA获得超过2974个赞
知道大有可为答主
回答量:1383
采纳率:0%
帮助的人:1762万
展开全部
create table tb
(
ID int,
VALUE varchar(10)
)

insert into tb(ID,VALUE) values(1,'A')
insert into tb(ID,VALUE) values(2,'A')
insert into tb(ID,VALUE) values(3,'B')
insert into tb(ID,VALUE) values(4,'B')
insert into tb(ID,VALUE) values(5,'C' )
insert into tb(ID,VALUE) values(6,'D' )

select VALUE from tb where [ID] in(
select min([ID]) from tb group by VALUE
) order by [ID]

drop table tb
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiwangbdzh
2010-02-25 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:93.5万
展开全部
select 字段2 from 表 order by 字段1 asc 或者 desc

asc 是正序 desc 是倒序 估计你的错误就是没加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式