查询大于时间两小时(例:订单设置两小时后过期

$res = Order::where(['status'=>0,'sid'=>1])->whereRaw("created_at < NOW() - INTERVAL 2 HOUR")->get();

时间字段< NOW() - INTERVAL 2 HOUR

解读:当前时间减去2小时(HOUR)如果还大于下单时间则超过

查询当天、昨天等数据 用于统计

public function senior(Request $request)
{
$Sid = $request->session()->get('SUserId');
if ($request->ajax()){
//查询今天订单数据
$dateD = date('Y-m-d');
//我也看不懂。。。有时间研究
$data = DB::select(
"SELECT IF(count IS NULL, 0, count) as num FROM (SELECT count(*) AS count,DATE_FORMAT(created_at, '%H') AS hour
FROM lkx_orders where date_format(created_at,'%Y-%m-%d') = '$dateD' GROUP BY hour ORDER BY 1) A
RIGHT JOIN (SELECT one.hours + two.hours AS dayHour
FROM (SELECT 0 hours
UNION ALL SELECT 1 hours
UNION ALL SELECT 2 hours
UNION ALL SELECT 3 hours
UNION ALL SELECT 4 hours
UNION ALL SELECT 5 hours
UNION ALL SELECT 6 hours
UNION ALL SELECT 7 hours
UNION ALL SELECT 8 hours
UNION ALL SELECT 9 hours) one
CROSS JOIN (SELECT 0 hours UNION ALL SELECT 10 hours UNION ALL SELECT 20 hours) two
WHERE (one.hours + two.hours) < 24) B ON A.hour = CONVERT(B.dayHour, SIGNED) ORDER BY dayHour"
);
$orderNum = array_column($data,'num'); $data7D = date('Y-m-d',strtotime("-6 day")); $data = DB::select("
SELECT t1.date_str , COALESCE(t2.date_total_countss,0) as date_total_count
FROM(
SELECT @cdate:= date_add(@cdate,interval - 1 day) as date_str
FROM (SELECT @cdate:=date_add(CURDATE(),interval + 1 day) from lkx_orders) tmp1
WHERE date_format(@cdate,'%Y-%m-%d') >'$data7D'
) t1
LEFT JOIN(
SELECT date_format(m.created_at, '%Y-%m-%d') as date_str , sum(price) as date_total_countss
FROM lkx_orders as m
WHERE date_format(m.created_at,'%Y-%m-%d') >'$data7D' and m.status=1 and sid=$Sid
GROUP BY date_str
) t2
on t1.date_str = t2.date_str
order by t1.date_str asc
"); $price7D['data'] = array_column($data,'date_total_count');
$price7D['title'] = array_column($data,'date_str'); $dataMyM = date("Y-m-d",mktime(0, 0 , 0,date("m"),2,date("Y"))); $data = DB::select("
SELECT t1.date_str , COALESCE(t2.date_total_countss,0) as date_total_count
FROM(
SELECT @cdate:= date_add(@cdate,interval - 1 day) as date_str
FROM (SELECT @cdate:=date_add(CURDATE(),interval + 1 day) from lkx_orders) tmp1
WHERE date_format(@cdate,'%Y-%m-%d') >= '$dataMyM'
) t1
LEFT JOIN(
SELECT date_format(m.created_at, '%Y-%m-%d') as date_str , sum(price) as date_total_countss
FROM lkx_orders as m
WHERE date_format(m.created_at,'%Y-%m-%d') >= '$dataMyM' and m.status=1 and sid=$Sid
GROUP BY date_str
) t2
on t1.date_str = t2.date_str
order by t1.date_str asc
"); $priceMyM['data'] = array_column($data,'date_total_count');
$priceMyM['title'] = array_column($data,'date_str'); //获取上个月数据统计
$dataUpM = date("Y-m-d",mktime(0, 0 , 0,date("m")-1,30,date("Y"))); $Mnum = date("t",strtotime("-1 month")); $dataUpYm = date('Y-m',strtotime("-1 month")); $data = DB::select("
SELECT t1.date_str , COALESCE(t2.date_total_countss,0) as date_total_count
FROM(
SELECT @cdate:= date_add(@cdate,interval - 1 day) as date_str
FROM (SELECT @cdate:=date_add('$dataUpM',interval + 1 day) from lkx_orders) tmp1
limit $Mnum
) t1
LEFT JOIN(
SELECT date_format(m.created_at, '%Y-%m-%d') as date_str , sum(price) as date_total_countss
FROM lkx_orders as m
WHERE date_format(m.created_at,'%Y-%m') = '$dataUpYm'
GROUP BY date_str
) t2
on t1.date_str = t2.date_str
order by t1.date_str asc
"); $priceUpM['data'] = array_column($data,'date_total_count');
$priceUpM['title'] = array_column($data,'date_str'); return array(
'orderNum'=>$orderNum,
'priceMyM'=>$priceMyM,
'price7D'=>$price7D,
'priceUpM'=>$priceUpM,
);
}
}

新手经百度查询等方式写的、如有更好方案请指点一番...

最新文章

  1. 【前端性能】高性能滚动 scroll 及页面渲染优化--转发
  2. 解决在ScrollView中套用ListView显示不正常
  3. Android NestedScrolling与分发机制
  4. hdoj4906 Our happy ending(2014 Multi-University Training Contest 4)
  5. linux内核中与进程相关的数据结构(基于linux3.16-rc4)
  6. Yii2 TimestampBehavior行为
  7. nginx代理人server结合tomcat采用
  8. 武汉科技大学ACM:1005: 单位转换
  9. Winform常用的一些功能收集(持续更新)
  10. headfirst设计模式(6)—单例模式
  11. Python 几个常见函数
  12. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01
  13. android Resources 类的使用
  14. MVC爬取网页指定内容到数据库
  15. dynamic遇上ADO.NET
  16. 三种简洁的经典高效的DIV+CSS制作的Tab导航简析
  17. SpringMVC深度探险(三) —— DispatcherServlet与初始化主线
  18. 好久没玩laravel了,5.6玩下(二)
  19. 1 springboot创建项目
  20. 好用的工具---screen命令

热门文章

  1. 恢复Gitee删除的文件
  2. TCP协议之四次挥手
  3. npm发包
  4. UE4笔记索引
  5. Loading Methods
  6. Python 获取磁盘使用
  7. 【面试题】手写async await核心原理,再也不怕面试官问我async await原理
  8. vue中vue2-google-maps使用谷歌地图的基础操作
  9. 如何用adb连接android手机
  10. 钉钉获取群openConversationId方式以及企业内部机器人发送群消息