select * from 表名where year(日期字段)=2012 and month(日期字段) in(9,10,11);得出的结果不是9月10月11月都有的记录,而是或者在9月,或者在10月,或者在11月的记录,我要的是9月10月11月都有的记录
我的表是一个会员消费记录表,我想查询2012年每月都有消费的会员
select * from 表名where year(日期字段)=2012 and month(日期字段) in(9,10,11);
答案:5 悬赏:0
解决时间 2021-04-07 19:14
- 提问者网友:巴黎塔下许过得承诺
- 2021-04-07 13:52
最佳答案
- 二级知识专家网友:堕落奶泡
- 2021-04-07 14:36
使用distance查询消费日期(年-月)
然后算count,这样算出来的就每个月消费一条记录,cout出来的就是多少个月消费过
然后算count,这样算出来的就每个月消费一条记录,cout出来的就是多少个月消费过
全部回答
- 1楼网友:没感情的陌生人
- 2021-04-07 18:24
你好!
那不可能,你怎么得到或9月或10月或11月呢,是你没排序以为没查出来吧
如有疑问,请追问。
- 2楼网友:深街酒徒
- 2021-04-07 17:47
select * from 表名
where
year(日期字段)=2012 and month(日期字段) in(9,10,11)
and
( select
count( distinct ( month(日期字段) ) )
from
表名 t2
where
year( t2.日期字段) = year( 表名.日期字段 )
and t2.会员字段 = 表名.会员字段
and month(日期字段) in(9,10,11)
) = 3
- 3楼网友:厌今念往
- 2021-04-07 16:09
你的表结构是什么样的?
同一会员每月可能会有多笔吗?
- 4楼网友:放肆的依賴
- 2021-04-07 15:59
你可以把month字段转换成字符,然后用in试试
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯