mysql获取从某个时间到今天的每一天的日期,以及笛卡尔积
2016-11-14 10:34
453 查看
1.要获得从指定日期到今天的每一天的日期
select date_format(assigned_date,’%Y-%m-%d’) assigned_datefrom
(select adddate(‘2014-01-01’,t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) assigned_date
from
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3
) c
where assigned_date between ‘2016-07-01’ and NOW();
结果:
2.数据求笛卡尔积
比如你现在有一张这样的表:member_info现在你需要根据时间和会员的注册渠道做一个笛卡尔积cross join,因为你需要每一天的时间和每一天的注册渠道作为一个主轴,来进行后续的工作。
那么你的SQL就是:
select a.assigned_date,b.regist_channel
FROM
(
select date_format(assigned_date,’%Y-%m-%d’) assigned_date
from
(select adddate(‘2014-01-01’,t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) assigned_date
from
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3
) c
where assigned_date between ‘2016-09-01’ and NOW()
)a
cross join
(
select member_id,regist_time,regist_channel from member_info
)b
3.关于left join
选定一张表作为主表来left join,那么这个主表里有的数据在结果中都会有,后面的每一张表都是相当于跟这个主表来left join。相关文章推荐
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- mysql如何求得两个日期的天数以及linux下获取时间
- mysql如何求得两个日期的天数以及linux下获取时间
- mysql如何求得两个日期的天数以及linux下获取时间
- mysql 日期以及时间的操作
- MFC 获取当前时间的星期,以及这周星期一日期和星期日日期
- MySQL 获得当前日期时间(以及时间的转换)
- mysql 获取当前日期函数及时间格式化参数详解
- MySQL 获得当前日期时间(以及时间的转换)
- MySQL 获得当前日期时间(以及时间的转换)
- 如何获取精确到毫秒的当前时间以及 日期与时间的相互转化
- linux中获取昨天、今天、明天的日期(时间)
- php 获取插入 mysql的最后一个 id , 以及 获取能够插入到mysql date类型的当前日期
- MYSQL日期获取(本月最后一天、本月第一天、下个月第一天、本月天数、一个月前那一天、当前时间与一个月前之间的天数)
- MySQL 获得当前日期时间(以及时间的转换)
- MySQL 获得当前日期时间(以及时间的转换)
- mysql中数字类型、日期和时间类型以及字符串(字符)类型及大数据在hibernate中的配置
- MySQL 获得当前日期时间(以及时间的转换)