菜鸟求助,sqlserver05单表查询语句

miloshakalion 2015-09-25 05:00:32
现在有一个表,里面有字段tm和字段bb,tm中是2014-01-01 00:00:00 每隔一个小时的时间,一直到2014-12-31 23:00:00,bb中是1到100随机的数字,怎么样写sql语句能显示出来
每天中bb最大的那一行,
例如
2014-01-01 11:00:00 99 (假定1月1日11点的99是1月1日每个时段中最大的那个数字,下同)
2014-01-02 17:00:00 89
这样的呢
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengxuan 2015-09-26
  • 打赏
  • 举报
回复

if OBJECT_ID('tb') is not null
   drop table tb
go
create table tb
(
 tm datetime,
 bb int
)
go
insert into tb
select '2014-01-01 00:00:00',1
union all
select '2014-01-01 01:00:00',2
union all
select '2014-01-01 01:00:00',3
union all
select '2014-01-01 02:00:00',5
union all
select '2014-01-01 02:00:00',8
go
select * from tb a where not exists(select 1 from tb where tm=a.tm and bb>a.bb)

双鱼星星 2015-09-25
  • 打赏
  • 举报
回复
楼上正解,替换tb即可
哋岼線 2015-09-25
  • 打赏
  • 举报
回复
SELECT b.* FROM 
(SELECT CONVERT(VARCHAR(10),tm,120) AS tm,MAX(bb) AS bb  FROM tb GROUP BY CONVERT(VARCHAR(10),tm,120)) a LEFT JOIN tb b ON a.tm=CONVERT(VARCHAR(10),b.tm,120) AND a.bb=b.bb

34,590

社区成员

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

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