2013-03-22 28 views
-3

我試圖向用戶顯示本月有更多帖子添加到列表中。但不起作用。本月查詢的sql查詢,以及發過帖子的用戶

SELECT *,SUM(post_id) FROM `posts` Where YEAR(date) = YEAR(NOW()) AND MONTH(date) = MONTH(NOW()) GROUP BY user_id ORDER BY id DESC LIMIT 0 , 18 

SQL表中的數據:

INSERT INTO `posts` (`id`, `api_id`, `user_id`, `group_id`, `message`, `mentioned`, `attached`, `posttags`, `comments`, `reshares`, `date`, `date_lastedit`, `date_lastcomment`, `ip_addr`) VALUES 
(1, 0, 1, 0, 'text', 0, 0, 0, 0, 0, 1360378616, 0, 1360378616, 0); 
+0

你的錯誤是什麼? – Kasnady 2013-03-22 08:48:47

+0

選擇任何不屬於GROUPING的部分在大多數SQL方言中都是非法的。 (MySQL容忍它,基於服務器配置,但隨後從組中的一行中隨機提供列值。) – CBroe 2013-03-22 08:51:58

+0

在發佈問題前閱讀http://stackoverflow.com/faq – VSK 2013-03-22 09:07:43

回答

1

你應該在SELECT子句指定列名相同的是,在by子句 組嘗試。

SELECT user_id,SUM(post_id) FROM `posts` Where YEAR(date) = YEAR(NOW()) AND MONTH(date) = MONTH(NOW()) GROUP BY user_id ORDER BY user_id DESC LIMIT 0 , 18