猿问

如何检查重复日期?

我不希望 MYSQL 显示重复的日期。


我的日期数组:


Array

(

    [0] => Array

        (

            [date] => 2020-05-04 00:00:00

        )


    [1] => Array

        (

            [date] => 2020-05-05 00:00:00

        )


    [2] => Array

        (

            [date] => 2020-05-03 00:00:00

        )


    [3] => Array

        (

            [date] => 2020-05-06 00:00:00

        )


    [4] => Array

        (

            [date] => 2020-05-04 00:00:00

        )


    [5] => Array

        (

            [date] => 2020-05-05 00:00:00

        )


    [6] => Array

        (

            [date] => 2020-05-05 00:00:00

        )

)

我的 PHP 和 MYSQLI 代码:


$c = Database::$database->query("

    SELECT 

        `date`

    FROM `payments` 

    WHERE 

        `currency` = '{$this->settings->payment->currency}' 

    AND 

        WEEK(`date`) = WEEK(CURRENT_DATE())")->fetch_all(MYSQLI_ASSOC);



foreach ($c as $key => $value) {

    $current_date[] = $value['date'];

    $current_sum[] = Database::$database->query("SELECT COUNT(*) AS sum FROM `payments` WHERE `currency` = '{$this->settings->payment->currency}' AND `date` = '{$value['date']}'")->fetch_assoc();

}

我想做什么?

销售量

左边是我目前的坏东西,右边是我想要得到的东西。

工作流程:

我必须获取本周的所有日期(不是重复日期)。然后我必须获取SUM(*) AS sum本周的所有日期(不重复)。


德玛西亚99
浏览 120回答 2
2回答

拉风的咖菲猫

而不是所有的代码,你可以只使用这样的东西......SELECT p.date     , COUNT(*) total  FROM payments p WHERE p.currency = :currency   AND p.date BETWEEN CURDATE() - INTERVAL WEEKDAY(CURDATE()) AND CURDATE() - INTERVAL WEEKDAY(CURDATE()) + INTERVAL 6 DAY -- untested GROUP     BY p.date

海绵宝宝撒

使用 DISTINCT 关键字SELECT DISTINCT        `date`    FROM `payments`     WHERE         `currency` = '{$this->settings->payment->currency}'     AND         WEEK(`date`) = WEEK(CURRENT_DATE())
随时随地看视频慕课网APP
我要回答