向各位高手求这样的Sql语句

KETTLY800730 2007-12-11 09:22:59
e_id m_id name
bg xx huihui
bg dd xiaoxiao
bg cc mingming
xc ss xixi


e_id m_id name number
bg xx huihui 1
bg dd xiaoxiao 2
bg cc mingming 3
xc ss xixi 1
向各位高手求这样的Sql语句
...全文
110 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2007-12-11
  • 打赏
  • 举报
回复
--如果m_id是唯 一的,还可以这样
create table T(e_id nvarchar(2) ,             m_id  nvarchar(2) ,         name nvarchar(10))
insert T select 'bg', 'xx', 'huihui'
insert T select 'bg', 'dd', 'xiaoxiao'
insert T select 'bg', 'cc', 'mingming'
insert T select 'xc', 'ss', 'xixi'
go

---
select * ,[number] = (select count(1)+ 1 from T where e_id = tt.e_id and m_id > tt.m_id)
from T tt

drop table t

/*

e_id m_id name number
---- ---- ---------- -----------
bg xx huihui 1
bg dd xiaoxiao 2
bg cc mingming 3
xc ss xixi 1

(所影响的行数为 4 行)

*/
中国风 2007-12-11
  • 打赏
  • 举报
回复
create table T(e_id nvarchar(2) ,             m_id  nvarchar(2) ,         name nvarchar(10))
insert T select 'bg', 'xx', 'huihui'
insert T select 'bg', 'dd', 'xiaoxiao'
insert T select 'bg', 'cc', 'mingming'
insert T select 'xc', 'ss', 'xixi'
go

select *,number=0 into # from T order by e_ID
go
declare @e_id nvarchar(2),@i int
update #
set @i=case when e_id=@e_id then @i+1 else 1 end ,number=@i,@e_id=e_id
go
select * from #

e_id m_id name number
---- ---- ---------- -----------
bg xx huihui 1
bg dd xiaoxiao 2
bg cc mingming 3
xc ss xixi 1

(所影响的行数为 4 行)


areswang 2007-12-11
  • 打赏
  • 举报
回复
LZ要什么语句?
中国风 2007-12-11
  • 打赏
  • 举报
回复
2005;
select *,number=row_number()over(partition by e_id order by e_id) from T
中国风 2007-12-11
  • 打赏
  • 举报
回复
生成临时表:
select *,number=0 into # from T order by e_ID
go
declare @e_id nvarchar(2),@i int
update #
set @i=case when e_id=@e_id then @i+1 else 1 end ,number=@i,@e_id=e_id
go
select * from #
DaragonShop系统源码 DaragonShop系统(vs2008+SQL2005)是在课余时间随手制作的,主要是对一些基础的巩固和三层架构体系的运用,包含反射的应用等。 主要涉及:主流三层架构+工厂反射模式+ sql自带函数分页(曾经写过一个网站分别用了四种不同的分页模块,但因网络硬盘文件丢失,笔记本也在搬行李时失踪不能共享,遗憾) 有兴趣的朋友或者一些正在学习的C#的同学可以看一看。 在DaragonShopData文件夹中是系统的数据库(sqlserver 2005版) ,加载即可。然后修改Web.Config连接字符串即可,当然如果你是刚刚学习的,不知道连接字符串怎么修改,那么好吧,我就给你说一个非常非常简单的方法,但在说这个之前我要说一下,个人是非常讨厌用数据库连接控件的,但是在连接字符串的时候挺方便的,直接新建一个页面拖一个数据连接控件,选择要连的数据库一直点下一步,完成之后在web.config的 节点下就会出现了,把名为DragonShopConnection 的值替换掉即可。 后台因为没有模板,也没多少时间,在做的时候就直接就用GridView实现了大概修改删除的功能,有点简陋凑合着看吧。(如果有模板的朋友可以给我传一套,我可以更新 QQ:715501675) 今天上QQ发现自己不知道什么时候居然建过一个群,如果有兴趣的朋友可以进来提问:80012346。 这个系统我会在以后不断更新,也欢迎各位朋友多给点意见,当然高手要是要是看不起咱这小程序也不勉强(嘎嘎,鄙人只希望能够相互学习,这样大家才能一块进步.....). 简单介绍下我用过的四种分页模式,因为刚做网站的时候这块是比较烦人的。这样有兴趣的朋友可以有个大致的方向 1.当然是这个系统里面的,用存储过程,用SQL里面的一个排序函数,建立虚拟表,调用需要的表段。 2.在写sql语句的时候采用select top n where .... not in (select top n*page where ....) 的方法直接到数据库里找 3.在.net里面自带的有个pagedatasource的东东,用这个分页,然后把它当做数据源传给控件,怎么弄自己上网找。 4.这个是很蠢得了,直接用控件分页,不想说太多,最简单的。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧