我有一個問題,我不能使功能WEEK(日期,模式)工作。MySql當使用函數WEEK()與模式時返回錯誤
我有一個SQL我在哪裏分組通過一年的款項,然後以周:
SELECT SUM(o.total) as total_org, SUM(o.total_eur) as total_eur,
WEEK(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)) as period, YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)) as smallerperiod, `s`.`domain`
FROM `orders` `o`
JOIN `shops` `s` ON `o`.`domain_id` = `s`.`id`
WHERE `o`.`domain_id` = '5'
GROUP BY YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)), WEEK(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR))
ORDER BY `smallerperiod` ASC, `period` ASC
正是作品我多麼希望除了週數從0開始,我發現了該模式,將工作最適合我的是3號,所以我試圖改變我的SQL語句:
SELECT SUM(o.total) as total_org, SUM(o.total_eur) as total_eur,
WEEK('DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)', 3) as period, YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)) as smallerperiod, `s`.`domain`
FROM `orders` `o`
JOIN `shops` `s` ON `o`.`domain_id` = `s`.`id`
WHERE `o`.`domain_id` = '5'
GROUP BY YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)), WEEK('DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)', 3))
ORDER BY `smallerperiod` ASC, `period` ASC
然而,它只是給了我的錯誤
你的SQL語法有錯誤;檢查對應於您MariaDB的服務器版本正確的語法使用 接近「)ORDER BY
smallerperiod
ASC手冊,period
ASC
編輯: 我試圖使它沒有單引號工作過:
SELECT SUM(o.total) as total_org, SUM(o.total_eur) as total_eur,
WEEK(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR), 3) as period, YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)) as smallerperiod, `s`.`domain`
FROM `orders` `o`
JOIN `shops` `s` ON `o`.`domain_id` = `s`.`id`
WHERE `o`.`domain_id` = '5'
GROUP BY YEAR(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR)), WEEK(DATE_ADD(o.date_created_utc, INTERVAL 0 HOUR), 3))
ORDER BY `smallerperiod` ASC, `period` ASC
但是,它返回我同樣的錯誤
這裏刪除引號:'「DATE_ADD(o.date_created_utc,間隔0 HOUR)」' – Jens
事實上,我有,但它改變不了什麼,我得到了同樣的錯誤使用引號或沒有。 – NeuTronas
你在這裏有一個額外的括號:'HOUR)',3))' – Jens