access怎样查询分组的最大值?
字段1字段3字段3之计数2008-6-248:20:0010232008-6-248:20:00103242008-6-248:20:0010512008-6-248:2...
字段1 字段3 字段3之计数
2008-6-24 8:20:00 102 3
2008-6-24 8:20:00 103 24
2008-6-24 8:20:00 105 1
2008-6-24 8:21:00 102 20
2008-6-24 8:21:00 103 37
2008-6-24 8:21:00 106 1
我想让access挑出每分钟字段3之计数的最大值和相应的字段3的名称
输出下面结果
字段1 字段3 字段3之计数
2008-6-24 8:20:00 103 24
2008-6-24 8:21:00 103 37
请问设计视图应该怎么设计阿,字段3之计数选了最大值,但字段3应该怎么设计呢?请达人指教!
至三楼,如果我单独运行select max(字段3之计数) from 表 group by 字段1,可以挑出每分钟的最大值,但运行整行语句select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)出来的结果还是查询之前的样子,字段3全部列出来了,没有只挑出最大值那项。麻烦再帮忙想想办法!拜托大家!
至四楼,我现在用的就是这个办法,但没有一步到位的省事的办法么? 展开
2008-6-24 8:20:00 102 3
2008-6-24 8:20:00 103 24
2008-6-24 8:20:00 105 1
2008-6-24 8:21:00 102 20
2008-6-24 8:21:00 103 37
2008-6-24 8:21:00 106 1
我想让access挑出每分钟字段3之计数的最大值和相应的字段3的名称
输出下面结果
字段1 字段3 字段3之计数
2008-6-24 8:20:00 103 24
2008-6-24 8:21:00 103 37
请问设计视图应该怎么设计阿,字段3之计数选了最大值,但字段3应该怎么设计呢?请达人指教!
至三楼,如果我单独运行select max(字段3之计数) from 表 group by 字段1,可以挑出每分钟的最大值,但运行整行语句select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)出来的结果还是查询之前的样子,字段3全部列出来了,没有只挑出最大值那项。麻烦再帮忙想想办法!拜托大家!
至四楼,我现在用的就是这个办法,但没有一步到位的省事的办法么? 展开
5个回答
展开全部
先查出每分钟最大的值,然后再查出所有等于最大值的记录:
select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)
这样应该就可以了
楼主,我建了个表测试了下:
create table tablenew (
column1 datetime,
column3 int,
num3 int
)
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','102','3')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','103','24')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','105','1')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','102','20')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','103','37')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','106','1')
select * from tablenew where num3 in (select max(num3) from tablenew group by column1)
结果:
column1 column3 num3
2008-06-24 08:20:00.000 103 24
2008-06-24 08:21:00.000 103 37
完全没问题
你说的全部显示出来了,我想可能是因为NULL的原因,
当in()的括号中有NULL的值时,就会显示所有的值,这时in这个过滤条件就无效了。
还有就是,我上面这样写是有两个条件才能得到正常的结果:
1、最大值不为NULL(有的话要加条件过滤)
2、最大值不能重复(重复的话会列出所有等大的行)
还有问题可发消息给我
select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)
这样应该就可以了
楼主,我建了个表测试了下:
create table tablenew (
column1 datetime,
column3 int,
num3 int
)
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','102','3')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','103','24')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:20:00','105','1')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','102','20')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','103','37')
insert into tablenew(column1,column3,num3) values('2008-6-24 8:21:00','106','1')
select * from tablenew where num3 in (select max(num3) from tablenew group by column1)
结果:
column1 column3 num3
2008-06-24 08:20:00.000 103 24
2008-06-24 08:21:00.000 103 37
完全没问题
你说的全部显示出来了,我想可能是因为NULL的原因,
当in()的括号中有NULL的值时,就会显示所有的值,这时in这个过滤条件就无效了。
还有就是,我上面这样写是有两个条件才能得到正常的结果:
1、最大值不为NULL(有的话要加条件过滤)
2、最大值不能重复(重复的话会列出所有等大的行)
还有问题可发消息给我
展开全部
select 字段1,字段3,max(字段3之计数) from 表 group by 字段1,字段3
------
哦,你字段3已不一样
SELECT 字段1,
Max(select top 1 字段3 from 表 where 字段1 = 表1.字段1 order by 字段3之计数 desc),
max(字段3之计数)
from 表 as 表1
group by 字段1
是不是有点复杂,但绝对可用 :)
我暂时也想不出更好的方法了
select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)
肯定是错误的
------
哦,你字段3已不一样
SELECT 字段1,
Max(select top 1 字段3 from 表 where 字段1 = 表1.字段1 order by 字段3之计数 desc),
max(字段3之计数)
from 表 as 表1
group by 字段1
是不是有点复杂,但绝对可用 :)
我暂时也想不出更好的方法了
select * from 表 where 字段3之计数 in (select max(字段3之计数) from 表 group by 字段1)
肯定是错误的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from 表 where (字段1,字段3之计数) in (select 字段1,max(字段3之计数) from 表 group by 字段1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 字段3,max(字段3之计数) from 表 group by 字段3
将查询的结果生成一个表,
再链接该表和原表,应该就可以得到查询的结果了.
将查询的结果生成一个表,
再链接该表和原表,应该就可以得到查询的结果了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select max(字段3之计数) from 表 group by 字段3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询