关于SQL中distinct的问题
Table结构如下:idname1a2b3c4b5c6a我想查询名称不同的所有记录,返回的列包括id、nameselectdistinctnamefromTable只能返...
Table结构如下:
id name
1 a
2 b
3 c
4 b
5 c
6 a
我想查询名称不同的所有记录,返回的列包括id、name
select distinct name from Table 只能返回名称列
而select distinct name,id from Table 是返回名称和列同时不同的记录。
我在网上看到有人这样写说可以实现:
select *,count(distinct name) from Table group by name
但我试过了不行,总是报错。
我用的是SQL Server2000,哪位大侠懂的,帮帮忙啊。
不好意思 没说清楚
用select distinct name,id from Table
返回的结果是
1 a
2 b
3 c
4 b
5 c
6 a
我想要得到的结果是
1 a
2 b
3 c
返回值中需要有表中的所有列 展开
id name
1 a
2 b
3 c
4 b
5 c
6 a
我想查询名称不同的所有记录,返回的列包括id、name
select distinct name from Table 只能返回名称列
而select distinct name,id from Table 是返回名称和列同时不同的记录。
我在网上看到有人这样写说可以实现:
select *,count(distinct name) from Table group by name
但我试过了不行,总是报错。
我用的是SQL Server2000,哪位大侠懂的,帮帮忙啊。
不好意思 没说清楚
用select distinct name,id from Table
返回的结果是
1 a
2 b
3 c
4 b
5 c
6 a
我想要得到的结果是
1 a
2 b
3 c
返回值中需要有表中的所有列 展开
3个回答
展开全部
select distinct name,* from Table
这样就好了。但是因为name要是唯一的 所以必须要放在前面。后面也会有一个name列。
或者没有重复列的话用这个:
select * from table where id not in(select b.in from table a,table b
where a.name=b.name and a.id<b.id) order by id asc
这样就好了。但是因为name要是唯一的 所以必须要放在前面。后面也会有一个name列。
或者没有重复列的话用这个:
select * from table where id not in(select b.in from table a,table b
where a.name=b.name and a.id<b.id) order by id asc
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上数据你要的最终结果是怎样的?
那你可以用如下方式来实现
select min(id) as id ,name from Table group by name
那你可以用如下方式来实现
select min(id) as id ,name from Table group by name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询