我不希望 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

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
使用 DISTINCT 关键字
SELECT
DISTINCT
`date`
FROM `payments`
WHERE
`currency` = '{$this->settings->payment->currency}'
AND
WEEK(`date`) = WEEK(CURRENT_DATE())
- 2 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消