mysql 显示前7天每天的整点时刻

 select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 1 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@i:=@i+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @i:=-1)  AS i
                                                )tab1
 
 
                             union all
                             
                             
                select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 2 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@j:=@j+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @j:=-1)  AS j
                                                )tab2
                              
                             union all
                             
                select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 3 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@k:=@k+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @k:=-1)  AS k
                                                )tab3
                             
                              union all
                             
                             select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 4 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@l:=@l+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @l:=-1)  AS l
                                                )tab4
                                                
                           union all
                             
                             select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 5 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@m:=@m+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @m:=-1)  AS m
                                                )tab5
                                                
                             union all
                             
                             select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 6 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@n:=@n+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @n:=-1)  AS n
                                                )tab6
                                                
                            union all
                             
                             select  
                                            time 
                                from 
                                            (SELECT 
                                                   DATE_FORMAT( DATE_SUB( DATE_FORMAT( date_sub(curdate(), interval 7 day),'%Y-%m-%d'),
                                                   INTERVAL ( -(@o:=@o+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
                                                 FROM (
                                                            SELECT a  FROM 
                                                             (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a
                                                                JOIN 
                                                                ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' 
                                                                  UNION SELECT '6' 
                                                                ) AS b
                                                                 ON 1
                                                              ) AS b  ,(SELECT @o:=-1)  AS o
                                                )tab7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值