如何把group以外的列显示出来??

rainlong 2003-11-17 12:27:38
比如:
使用日期 使用次数 使用时段
2003-10-31 3 11
2003-11-6 3 11
2003-11-13 1 12
2003-10-31 2 13
2003-11-5 5 14
2003-11-13 1 15
2003-11-12 1 16
2003-10-21 1 17
2003-10-31 1 17

我要按照select Max(useTimes) group by 使用日期 输出每天使用次数最多的记录,但是我如何取得使用时段呢??

比如:
使用日期 使用次数 使用时段
2003-10-31 3 11
2003-11-6 3 11
2003-11-13 1 12
2003-11-5 5 14
2003-11-12 1 16
2003-10-21 1 17

也就是把使用次数最多的整条记录提取出来.

请帮帮我这初学者吧??
先谢谢各位大虾了....

...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
愉快的登山者 2003-11-17
  • 打赏
  • 举报
回复
select * from table1 as A
where 使用次数 = (select Max(使用次数) from table1 where 使用日期 = A.使用日期)
order by 使用日期
Benimarunikado 2003-11-17
  • 打赏
  • 举报
回复
--根据作者需求,实现如下:
CREATE TABLE TABLE1(
RECORDID INT IDENTITY(1,1)NOT NULL,
使用日期 DATETIME,
使用次数 CHAR(10),
使用时段 CHAR(10)
)

GO

INSERT INTO TABLE1
VALUES('2003-10-31','3','11')

INSERT INTO TABLE1
VALUES('2003-11-6','3','11')

INSERT INTO TABLE1
VALUES('2003-11-13','1','12')

INSERT INTO TABLE1
VALUES('2003-10-31','2','13')

INSERT INTO TABLE1
VALUES('2003-11-5','5','14')

INSERT INTO TABLE1
VALUES('2003-11-13','1','15')

INSERT INTO TABLE1
VALUES('2003-11-12','1','16')

INSERT INTO TABLE1
VALUES('2003-10-21','1','17')

INSERT INTO TABLE1
VALUES('2003-10-31','1','17')

GO

SELECT 使用日期,使用时段,使用次数 FROM(
SELECT A.* FROM TABLE1 AS A JOIN
(SELECT 使用日期,MAX(使用次数) AS 使用次数
FROM TABLE1 GROUP BY 使用日期)AS B
ON A.使用日期=B.使用日期 AND A.使用次数=B.使用次数
)AS YOUWANT

--在SQL SERVER 2000 下通过测试!

tj_dns(愉快的登山者 MVP) 和 zjcxc(邹建) 真是强!!!佩服ing...
zjcxc 元老 2003-11-17
  • 打赏
  • 举报
回复
select a.*
from 表 a join (
select 使用日期,aa=max(使用次数) from 表 group by 使用日期
) b on a.使用日期=b.使用日期 and a.使用次数=b.aa

34,623

社区成员

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

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