0
我正在尋找解釋爲什麼下面的代碼不起作用。特別是行
lc = MIN(lc)OR lc = MAX(lc)
這不就是比較兩個數嗎?SQL - 無法使用多個聚合函數結果過濾表
SELECT city, lc FROM (SELECT city, LENGTH(city) AS lc FROM station) AS t1 GROUP BY city HAVING lc=MIN(lc) OR lc=MAX(lc)
編輯,因爲人們不讀我的問題,而是看我的代碼,然後提供其修復,這一點我並不需要刪除的部分信息。我想回答關於SQL概念/理論的問題。
它應該會返回一個錯誤 - 並且幾乎可以在MySQL以外的任何數據庫中使用。在'HAVING'中使用'lc'是不合適的,因爲沒有聚合函數。 –
@GordonLinoff,你是什麼意思,「因爲沒有聚合函數」? lc是一個數字,MIN(lc)也返回一個數字,我是不是比較兩個數字? –
。 。不,您正在比較來自不確定行的lc值與總體最小值。 –