SQL可以寫出這樣的結果嗎 |
尚未結案
|
wchsieh
一般會員 ![]() ![]() 發表:9 回覆:12 積分:4 註冊:2005-02-21 發送簡訊給我 |
|
timhuang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
wchsieh
一般會員 ![]() ![]() 發表:9 回覆:12 積分:4 註冊:2005-02-21 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: 我目前也是用這個方式..... 因為用subquery (select sum(A) from table1) 若此subquery很長...performance不是很好 就變成整個sql就很長...同樣的sql 2段加在一起 我是想說有沒有其他比較好的方式ㄋㄟ吾窃以为这样的情况用SubQuery performance不可能好,因为会执行n 1次Query来获取资料,原来可只要用1次就可以了。对于这种类型的问题一般用两种办法提高performance, 方法一:如果这个Query没有太多变体行为,就写一个storeprocedure,先获取Sum(A)放入临时变体,再组合进所需的Query中,这个方法执行2次Query,performance自然就好了; 方法二:只执行Query,在客户端进行计算(使用ClientDataSet比较方便)。 Justin Shen
------
==================== 我为一切作努力! Justin Shen |
timhuang
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
Nico_L
一般會員 ![]() ![]() 發表:0 回覆:4 積分:0 註冊:2005-06-01 發送簡訊給我 |
|
Nico_L
一般會員 ![]() ![]() 發表:0 回覆:4 積分:0 註冊:2005-06-01 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: SELECT List.A A,List.A/sum.A B FROM (select t.A A from table t where ?)List, (select sum(t.A) A table t where ?)sum这个方法似乎可以,但在SQL Server 2000 Northwind上运行结果不正确 SELECT List.Quantity Quantity,List.Quantity/sumit.Quantity B FROM (select [order details].Quantity Quantity from [order details]) List, (select sum([order details].Quantity) Quantity from [order details]) sumit; Justin Shen ================================= 如果能帮到您,我会很开心;如果能得到您的帮助,是我的荣幸 ================================= 發表人 - JustinShen 於 2005/07/16 00:35:40
------
==================== 我为一切作努力! Justin Shen |
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: SELECT t.A A,A/(sum(t.A) over ()) B FROM table t WHERE ? Using internal function of Oracle ,even so, there would be execution count n*2. To consider with performance, it still was a bad performance sql statement!!!不错,尤其使用[,]查询次数是迪卡尔积,所以我不建议使用 Justin Shen ================================= 如果能帮到您,我会很开心;如果能得到您的帮助,是我的荣幸 =================================
------
==================== 我为一切作努力! Justin Shen |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |