VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1803|回复: 7

如何取第一行

[复制链接]

2

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-17 10:00:01 | 显示全部楼层 |阅读模式
现有SqlServer如下数据表 (表名称为TestTable)包含如下三列
编号    名称     其他
10000   北京     阿斗随风倒
10000   河北     sfsaadf
10000   山西     23424234
10001   吃饭     随风萨发
10001   睡觉     哈哈
10005   别想了   2234234
10006   快点     3424234
10007   随风萨发 速度分散对方
10007   324      随风
...     ...      ......
我要得到如下数据集该如何做
编号    名称     其他
10000   北京     阿斗随风倒
10001   吃饭     随风萨发
10005   别想了   2234234
10006   快点     3424234
10007   随风萨发 速度分散对方
...     ...      ...   

也就是只去编号的第一行,其他不管
回复

使用道具 举报

0

主题

17

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-12-17 12:15:01 | 显示全部楼层
那要取哪一行啊,是随机的吗?
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-17 12:30:02 | 显示全部楼层
先进行分组,取分组中的最小
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-12-17 12:45:01 | 显示全部楼层
select * from TestTable where 1 = (select count(1) from TestTable a where 编号 = a.编号 and 名称<a.名称) order by 名称
回复

使用道具 举报

0

主题

17

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-12-17 13:15:01 | 显示全部楼层
select * from table
where 编号 in
(
select min(编号) from table
)
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-12-20 23:15:01 | 显示全部楼层
select *
from 表名 as b,
(
select 编号,min(名称) as 名称
from 表名
group by 编号
) as a
where a.编号=b.编号 and a.名称=b.名称
回复

使用道具 举报

1

主题

8

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-12-20 23:30:01 | 显示全部楼层
select 编号,    名称  ,   其他
from TestTable
where 编号 in(select 编号,min(名称) as 名称
from 表名
group by 编号)
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-12-20 23:45:01 | 显示全部楼层
select * from tablename where 其他 in(select top 1 其他 from tablename group by 编号 order by 其他 desc)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表