为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查重复日期?

如何检查重复日期?

PHP
德玛西亚99 2023-03-04 16:09:46
我不希望 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本周的所有日期(不重复)。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超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


查看完整回答
反对 回复 2023-03-04
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

使用 DISTINCT 关键字


SELECT 

DISTINCT

        `date`

    FROM `payments` 

    WHERE 

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

    AND 

        WEEK(`date`) = WEEK(CURRENT_DATE())


查看完整回答
反对 回复 2023-03-04
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号