我不希望 MYSQL 顯示重復(fù)的日期。我的日期數(shù)組: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();}我想做什么?銷售量左邊是我目前的壞東西,右邊是我想要得到的東西。工作流程:我必須獲取本周的所有日期(不是重復(fù)日期)。然后我必須獲取SUM(*) AS sum本周的所有日期(不重復(fù))。
2 回答

拉風(fēng)的咖菲貓
TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
而不是所有的代碼,你可以只使用這樣的東西......
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貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用 DISTINCT 關(guān)鍵字
SELECT
DISTINCT
`date`
FROM `payments`
WHERE
`currency` = '{$this->settings->payment->currency}'
AND
WEEK(`date`) = WEEK(CURRENT_DATE())
- 2 回答
- 0 關(guān)注
- 116 瀏覽
添加回答
舉報(bào)
0/150
提交
取消