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,如果不能的话能否指导一下在数据量挺大的情况下该如何统计呢,晚饭感谢
额,最后统计出来的结果我希望是同一个人的所有结果都合成一条数据,因为数据量确实不小,所以一直没有太好的办法弄
展开
 我来答
tjrmgs
2014-08-13 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1031万
展开全部

用日期和用户名分组汇总金额字段即可求出来


SQL语句如下:


select 日期,用户名,sum(资金) as 资金总额 from 你的表名 group by 日期,用户名 order by 日期,用户名


将上述SQL语句套上正确的表名,复制黏贴到SQL查询视图,点击工具栏运行命令(带叹号图标的)即可求出每天每个用户的资金总额。


*****关于楼主问题补充,更好解决,单用用户名分组汇总即可*****

select 用户名,sum(资金) as 资金总额 from 你的表名 group by 日期 order by 用户名


SQL查询视图

查询设计视图

运行结果

飘然又热心的小喵6788
2014-08-13 · TA获得超过170个赞
知道答主
回答量:157
采纳率:88%
帮助的人:63.6万
展开全部
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中姓名在查出来的姓名中,是就把他的所有购买记录全选出来
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式