有一个表
名称 日期 是否确认
id1 19号 是
id1 22号 是
id2 23号 是
id2 24号 是
id3 25号 是
id1 25号 是
两个查询条件,假设今天是27号
1、7天内,确认次数大于1次的id
并且
2、10天内,确认次数大于2次的id目标结果是id1这个id被选出来
名称 日期 是否确认
id1 19号 是
id1 22号 是
id2 23号 是
id2 24号 是
id3 25号 是
id1 25号 是
两个查询条件,假设今天是27号
1、7天内,确认次数大于1次的id
并且
2、10天内,确认次数大于2次的id目标结果是id1这个id被选出来
解决方案 »
- 在mysql中如果不指定numeric数据类型的大小和精度,默认是多少?
- 取mysql的子字符串,怎么总是不对呢?
- mysql无法远程登录,报错ERROR2003(10065)
- mysql 列变成行转换怎么写?(列行转换)
- 请求解决表单数据中文乱码问题
- 急等!空间后台有google的AdSense广告时,mysql数据备份还原(恢复)软件功能失效
- 问一个很简单的问题,关于用mysql是输入字符数的问题
- mysql for linux 启动问题?
- 在MySQL的安装过程中出现安装的最后一步无法响应的问题解决
- w2k下mysql意外中断怎么办啊!
- mysql 汉字转拼音 函数怎么写
- MYSQL 多表合并,怎么取得各个表名,再将数据合并到大表内?
select *
from tb
where 日期>'20号'
group by 名称
having count(*)>11
select *
from tb
where 日期>'17号'
group by 名称
having count(*)>2
select * from
(select *,count(*) from tb where julianday('now','start of day')-julianday(日期)<7 group by 名称 having count(*)>1)
where julianday('now','start of day')-julianday(日期)>10 group by 名称 having count(*)>2然后查询一得到的结果是
id1 25号 是 2次
id2 24号 是 2次
查询二就变成从上面的结果里找,肯定是找不到了小白对概念比较糊涂,不知道有没有把问题说明白了,请指点
from 有一个表 a
where 日期>=curdate()-internal 7 day
and 2<=(select count(*) from 有一个表 where 日期>=curdate()-internal 10 day and 名称=a.名称)
名称 日期 是否确认 类型
id1 19号 是 X
id1 22号 是 X
id2 23号 是 Y
id2 24号 是 Y
id3 25号 是 X
id1 25号 是 X
id4 18号 是 Z
id4 19号 是 Z
id5 25号 是 X
id5 26号 是 X
id6 25号 是 X
id6 26号 是 X表B
名称 金额 是否报销
id1 20 否
id2 8 是
id3 7 否
id4 25 否
id5 5 是
id6 15 是假设今天是27号
条件一:表A中 7天内,确认次数大于等于1次的id --》id1、id2、id3、id5、id6
条件二:表A中 10天内,确认次数大于等于2次的id --》id1、id2、id4、id5、id6
前两条用版主的语句可以完成
条件三:表A中 5天内,类型为X的id --》id1、id3、id5、id6
条件四:表B中 金额大于10的id --》id1、id4、id6
条件五:表B中 是否报销为‘是’的id --》id2、id5、id6所有条件如果都用上的话,结果就是id6
如果要任意组合这些条件的话,我的理解是不是用类似case语句来写,写这样的语句的思路是怎样的,谢谢