【问题标题】:How to get mysql query last five week of current day如何获取当天最后五周的mysql查询
【发布时间】:2017-11-08 06:55:58
【问题描述】:

我的表结构是这样的:

列名:

id
name
start_date
end_date

示例:今天是“星期三”,所以我想获取过去五周的星期三数据,并检查 start_date 和 end_date

请检查当前日期数据

【问题讨论】:

  • 那么...您尝试过什么?看date()strtotime('last Wednesday', time())
  • SELECT *,WEEKDAY(created_date) as weekdays FROM user WHERE created_date BETWEEN start_date AND end_date ORDER BY start_date ASC LIMIT 5
  • 什么是 created_date?见meta.stackoverflow.com/questions/333952/…

标签: php mysql sql date


【解决方案1】:

在where条件下写下一行

WHERE created_date >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

【讨论】:

  • created_date 没有用
【解决方案2】:

首先使用 PHP 代码获取当天的最后 5 天,然后在 sql 查询中传递这些天

<?php
function last_days($total)
{
    $days= array();
    $today = date("l");
    for($i = 1; $i<= $total;$i++)
    {
        $days[] = date('Y-m-d',strtotime("-$i $today"));     
    }
    return $days;
}
$days = last_days(5);
//print_r($days);
$days_str = "'".implode("','", $days)."'";
$query = "SELECT *,WEEKDAY(created_date) as weekdays FROM user WHERE created_date IN ($days_str) ORDER BY start_date ASC";

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多