access中如何查询a字段中的某1个值对应的所有b字段中包含特定的多个值的记录 50
日期资金用户名2014/8/1210张三2014/8/1220张三2014/8/133李四2014/8/132赵六2014/8/13123小明2014/8/1333张三2...
日期 资金 用户名
2014/8/12 10 张三
2014/8/12 20 张三
2014/8/13 3 李四
2014/8/13 2 赵六
2014/8/13 123 小明
2014/8/13 33 张三
2014/8/14 44 张三
2014/8/15 44 李四
2014/8/16 555 李四
2014/8/17 11 李四
2014/8/17 23 李四
2014/8/17 3423 王五
2014/8/12 55 王五
2014/8/12 44 王五
是否有可能用一个查询统计出每天当中各个用户的资金总额是多少呢,如果能的话应该如何编写SQL,如果不能的话能否指导一下在数据量挺大的情况下该如何统计呢,晚饭感谢
额,最后统计出来的结果我希望是同一个人的所有结果都合成一条数据,因为数据量确实不小,所以一直没有太好的办法弄 展开
2014/8/12 10 张三
2014/8/12 20 张三
2014/8/13 3 李四
2014/8/13 2 赵六
2014/8/13 123 小明
2014/8/13 33 张三
2014/8/14 44 张三
2014/8/15 44 李四
2014/8/16 555 李四
2014/8/17 11 李四
2014/8/17 23 李四
2014/8/17 3423 王五
2014/8/12 55 王五
2014/8/12 44 王五
是否有可能用一个查询统计出每天当中各个用户的资金总额是多少呢,如果能的话应该如何编写SQL,如果不能的话能否指导一下在数据量挺大的情况下该如何统计呢,晚饭感谢
额,最后统计出来的结果我希望是同一个人的所有结果都合成一条数据,因为数据量确实不小,所以一直没有太好的办法弄 展开
2个回答
展开全部
select * from 表X
where 姓名 in
(select 姓名
from (select distinct 姓名 from 表X where instr(购买物,'苹果')>0
union all select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) as T
group by 姓名
having count(*)=2
)
与T对应的子查询是一个union all,union all与union的区别是union all不管是否重复都并起来,
如{1,2} union all {2,3}={1,2,2,3},而{1,2} union {2,3}={1,2,3}
为什么这里要用distinct呢?那是因为同一个人可能多次购买同一种水果,不能重复把姓名再记录一次。
select distinct 姓名 from 表X where instr(购买物,'苹果')>0 的意思就是购买苹果的人只查出来一次,
select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) 的意思就是购买香蕉的人也只查出来一次,
把它们并在一起,然后按姓名分组并计算次数是否为2,是则表示它同时购买了这2种水果。
最后利用in来判断表X中姓名在查出来的姓名中,是就把他的所有购买记录全选出来
where 姓名 in
(select 姓名
from (select distinct 姓名 from 表X where instr(购买物,'苹果')>0
union all select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) as T
group by 姓名
having count(*)=2
)
与T对应的子查询是一个union all,union all与union的区别是union all不管是否重复都并起来,
如{1,2} union all {2,3}={1,2,2,3},而{1,2} union {2,3}={1,2,3}
为什么这里要用distinct呢?那是因为同一个人可能多次购买同一种水果,不能重复把姓名再记录一次。
select distinct 姓名 from 表X where instr(购买物,'苹果')>0 的意思就是购买苹果的人只查出来一次,
select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) 的意思就是购买香蕉的人也只查出来一次,
把它们并在一起,然后按姓名分组并计算次数是否为2,是则表示它同时购买了这2种水果。
最后利用in来判断表X中姓名在查出来的姓名中,是就把他的所有购买记录全选出来
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询