2016-08-17 147 views
0

我無法弄清楚我的生活。我有我運行下面的SQL語句,它告訴我的錯誤是在ORDER BY d GROUP BY d;SQL錯誤(1064)語法MariaDB

SELECT d, SUM(e) AS Se, SUM(q) AS Sq 
FROM table1 
WHERE code <> '1b' 
AND sDate BETWEEN #2016/08/10# AND #2016/08/17# 
ORDER BY d GROUP BY d; 

此代碼工作在MS Access 2013,因爲我有同樣的桌子那裏。在這種情況下,我使用MariaDB,基本上與MySQL相同,所以我不確定是否有任何語法更改丟失。

感謝

解決

嘗試的事情了我得到它的工作之後。出於某種原因,它不喜歡#號,所以我將它們全部轉換爲撇號。我也切換了GROUP BY d和ORDER BY d的順序。

SELECT d, SUM(e) AS Se, SUM(q) AS Sq 
FROM table1 
WHERE Code <> '1b' 
AND sDate BETWEEN '2016-08-10' AND '2016-08-17' 
GROUP BY d 
ORDER BY d; 
+1

'ORDER BY'一定要來'集團BY' – Uueerdo

+0

@Uueerdo我更新了我的問題,並張貼解決 – Michael

+0

後不要你的 「周」 有8個日子? –

回答

0

嘗試使用

SELECT d, SUM(e) AS Se, SUM(q) AS Sq 
FROM table1 
WHERE code <> '1b' AND Code <> '2b' 
AND sDate BETWEEN #2016/08/10# AND #2016/08/17# 
GROUP BY d ORDER BY d ; 
+0

小組和小組只是問題的一半。我在我的問題中展示瞭解決方案 – Michael