易截截图软件、单文件、免安装、纯绿色、仅160KB

求较复杂sql语句? - MS-SQL Server / 基础类

id stucode stuaddress sturoom stutime
1 22 35# n502 201005  
2 22 35# n502 201007
3 12 45# n501 201005
4 22 35# n502 201005
5 22 35# n502 201005
6 12 45# n501 201009
7 12 65# n401 201010
8 22 35# n502 201005
9 22 34# n502 201005
10 32 35# n512 201005
11 22 34# n502 201007
12 32 55# n512 201009
13 33 55# n512 201009
求一sql语句得到结果如下:
code address room time
22 35# n502 201007
12 45# n501 201009
32 55# n512 201009
33 55# n512 201009

code为基础,然后对比address+room 把相同条目多的留下,最后只留下一条time最大的.

原则一:22的 35#+n502 有4条, 22的34#+n502 有2条 所以留下22的 35#+n502,然后再剩下时间最大的一条
22 35# n502 201007
原则二:32的55#+n512 有1条, 32的35#+n512有1条 留时间最大的一条,如果时间相同留id大的,id唯一  
32 55# n512 201009
[code=SQL][/code]
create table #test(id int,stucode int,stuaddress varchar(10),sturoom varchar(10),stutime char(6))

insert #test select 1,22,'35#','n502','201005'
insert #test s


相关问答:

求一个SQL语句 - MS-SQL Server / 基础类

字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......

mysql区没高手 - MS-SQL Server / 基础类

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号