select round((A.a/@USD),2)
可以正確顯示筆數,但需要抓最大值,所以把指令改成
select max(round((A.a/@USD),2))
會跑到time out
請問select max() 不能這樣使用嗎?
如何實現「從計算後的結果裡抓出最大值」的需求?
你的巢狀 select 語法上是沒有問題的
但會timeout 是否筆數過多而造成table scan
不知你的select round((A.a/@USD),2)筆數共幾筆 因此法下的資料無法有index的支援,若再加上select max() 則資料一多 久是必然的
輸出至暫存資料表或CREATE VIEW都是不錯的方式
你可以把計算結果先輸出暫存資料表
再從暫存資料表去算 max 值
或是巢狀Select
select max() 放到最外層
select round(max(A.a)/@USD),2)
from tableName
group columnName