2010-04-19 36 views
0

這裏是我的問題: 我有2個相同的表(過去一個月的數據,當月數據) - data_2010_03,data_2010_04:的MySQL - MAX的越來越SUM從2個表結果

Content_type (VARCHAR), content_id (INT), month_count (INT), pubDate (DATETIME)

數據在MONTH_COUNT每小時更新一次,因此對於content_typecontent_id的每個組合,我們插入新行,其中month_count的值是遞增更新的。

現在,我嘗試這樣:。
SELECT MAX(t1.month_count) AS max_1, MAX(t2.month_count) AS max_2, SUM(max_1 + max_2) AS result, t1.content_type, t1.content_id
FROM data_2010_03 AS t1
JOIN data_2010_04 AS t2 ON t1.content_type = t2.content_type AND t1.content_id = t2.content_id
WHERE t2.pubDate < '2010-04-08' AND t1.content_type = 'video'
GROUP BY t1.content_id
ORDER BY result desc, max_1 desc, max_2 desc
LIMIT 0,10

我在‘字段列表’出現錯誤「未知列‘max_1’請幫

回答

1

在表達式中不能使用別名(上的選擇相同的水平),從而

SUM(max_1 + max_2) AS result 

必須被寫爲

MAX(t1.month_count)+MAX(t2.month_count) AS result 
+0

謝謝!現在工作! – 2010-04-19 16:31:23

1

而不是

SELECT MAX(t1.month_count) AS max_1, MAX(t2.month_count) AS max_2, SUM(max_1 + max_2) AS result 

可你只是做

SELECT MAX(t1.month_count) + MAX(t2.month_count) AS result 

或者我可能誤解了要求。