google不到,求条SQL语句 带建表语句,求关注

zw_l_1989 2013-01-30 03:10:44

create table TestGetMaxTime
(
name varchar(20),
time datetime,
c1 decimal(16,4),
c2 decimal(16,4),
)
insert into TestGetMaxTime values ('A','2013-01-30 01:00:00',12,2)
insert into TestGetMaxTime values('A','2013-01-30 02:00:00',12,4)
insert into TestGetMaxTime values('A','2013-01-30 03:00:00',12,3)
insert into TestGetMaxTime values('B','2013-01-30 01:00:00',12,6)
insert into TestGetMaxTime values('B','2013-01-30 02:00:00',12,1)
insert into TestGetMaxTime values('B','2013-01-30 03:00:00',12,2)

select * from TestGetMaxTime
drop table TestGetMaxTime


要求结果如下:
最大的
max(c1/c2)


name time
A 2013-01-30 01:00:00
B 2013-01-30 02:00:00
...全文
285 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我腫了 2013-01-30
  • 打赏
  • 举报
回复
USE test
GO

create table TestGetMaxTime
(
    name varchar(20),
    time datetime,
    c1 decimal(16,4),
    c2 decimal(16,4),
)
insert into TestGetMaxTime values ('A','2013-01-30 01:00:00',12,2)
insert into TestGetMaxTime values('A','2013-01-30 02:00:00',12,4)
insert into TestGetMaxTime values('A','2013-01-30 03:00:00',12,3)
insert into TestGetMaxTime values('B','2013-01-30 01:00:00',12,6)
insert into TestGetMaxTime values('B','2013-01-30 02:00:00',12,1)
insert into TestGetMaxTime values('B','2013-01-30 03:00:00',12,2)
 
select 
		name,time
	from TestGetMaxTime AS a
	WHERE NOT EXISTS(SELECT 1 FROM TestGetMaxTime AS x
						WHERE x.name=a.name
							AND x.c1/x.c2 > a.c1/a.c2
					)
drop table TestGetMaxTime

/*
name  time                    
----- ----------------------- 
A     2013-01-30 01:00:00.000 
B     2013-01-30 02:00:00.000 
*/
zw_l_1989 2013-01-30
  • 打赏
  • 举报
回复
引用 1 楼 Haiwer 的回复:
是否? select name,time from TestGetMaxTime a where not exists ( select 1 from TestGetMaxTime b where b.TestGetMaxTime = a.TestGetMaxTime and c1/c2 > a.c1/a.c2 )
A 在 2013-01-30 01:00:00 时 12/2 最大(相对 12/2 12/4 12/3)来说 B 在 2013-01-30 02:00:00 时 12/1 最大 (相对 12/6 12/1 12/2) 来说
zw_l_1989 2013-01-30
  • 打赏
  • 举报
回复
引用 2 楼 chuifengde 的回复:
每个name每天的max?
group by 每个 max(c1/c2) 最大的 name 和 time
zw_l_1989 2013-01-30
  • 打赏
  • 举报
回复
引用 1 楼 Haiwer 的回复:
是否? select name,time from TestGetMaxTime a where not exists ( select 1 from TestGetMaxTime b where b.TestGetMaxTime = a.TestGetMaxTime and c1/c2 > a.c1/a.c2 )
消息 207,级别 16,状态 1,第 5 行 Invalid column name 'TestGetMaxTime'. 消息 207,级别 16,状态 1,第 5 行 Invalid column name 'TestGetMaxTime'.
chuifengde 2013-01-30
  • 打赏
  • 举报
回复
每个name每天的max?
昵称被占用了 2013-01-30
  • 打赏
  • 举报
回复
是否? select name,time from TestGetMaxTime a where not exists ( select 1 from TestGetMaxTime b where b.TestGetMaxTime = a.TestGetMaxTime and c1/c2 > a.c1/a.c2 )

34,588

社区成员

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

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