我有一個SQL查詢的問題。重用「sum(table_column)as x」
SELECT SUM(table_colum) AS value, SUM(value * 3) AS value2 FROM table;
你需要知道這是我的整個查詢的簡短表示。
錯誤:
Unknown column 'value' in 'field list'
有沒有辦法重用的另一個SUM()
value
?
我有一個SQL查詢的問題。重用「sum(table_column)as x」
SELECT SUM(table_colum) AS value, SUM(value * 3) AS value2 FROM table;
你需要知道這是我的整個查詢的簡短表示。
錯誤:
Unknown column 'value' in 'field list'
有沒有辦法重用的另一個SUM()
value
?
你可以這樣做:
SELECT SUM(table_colum) AS value, SUM(SUM(table_colum) * 3) AS value2 FROM table;
內部,服務器只會做SUM(table_colum)
計算一次,並使用結果的兩倍。
官方文檔的鏈接將不勝感激:) – Epoc 2016-10-17 18:36:13
我想你可以寫
SELECT value, SUM(value * 3) AS value2
FROM (SELECT SUM(table_column) AS value
FROM table
) AS t
;
但正如我在評論中提到上述,我不知道你想這個東西。 SUM(table_column)
只是一個值,所以它的SUM
只是一個值。所以,你會通過寫作獲得相同的結果:
SELECT value, value * 3 AS value2
FROM (SELECT SUM(table_column) AS value
FROM table
) AS t
;
沒有第二SUM
。
我不能完全想象你想要的結果。 SUM(table_column)'已經是單個值了,因爲你既沒有顯式的GROUP BY也沒有隱式的值。那麼,計算* it的SUM *是什麼意思呢? – ruakh 2012-04-01 22:31:45
@ruakh有一個複雜的計算,但這與問題無關 – 2012-04-01 22:42:29