概要:
さまざまなアカウントの代理店としての農産物の日々の取引を比較して、代理店と会社の所有物の違いを見つけ、新しいもののみを表示します。現在の取引のコードですが、以前の取引ではありません。
目的:
最も頻度の高いコード (例: りんご) で取引を並べ替えます。
現在のコード:
SELECT
Count(CurrentTrade.Code) AS CountOfCode,
CurrentTrade.portfolio_code,
CurrentTrade.Type,
CurrentTrade.Code,
sum(CurrentTrade.Custodian_holding) AS AgentHolding,
sum(CurrentTrade.Company_holding) AS CompanyHolding,
sum(CurrentTrade.Difference) AS TotalDifference
FROM
CurrentTrade
LEFT JOIN PrevTrade
ON CurrentTrade.Company_holding = PrevTrade.Company_holding
WHERE
PrevTrade.Company_holding) Is Null
GROUP BY CurrentTrade.Code, CurrentTrade.portfolio_code, CurrentTrade.Code, CurrentTrade.Type
ORDER BY count(CurrentTrade.Code);
現在の結果:
CountOfCode account_code Type Code AgentHodling CompanyHolding TotalDifference
1 acc001049 prod mango 2500 0 2500
1 acc636903 prod mango 481081.29 481081.285 0.01
1 acc179186 prod mango 453639.61 511285.81 -57646.2
1 acc179185 prod mango 2775 2650 125
1 acc170001 prod grapes 0 1500 -1500
1 acc170000 prod grapes 2500 0 2500
1 acc107104 prod apple 49797.22 49797.28 -0.06
1 acc107103 prod apple 0 -0.06 0.06
1 acc107102 prod apple 2000 500 1500
1 acc107101 prod apple 0 1500 -1500
1 acc001189 prod apple 0 1090.513 -1090.513
参照:
これに対する回答を受け取りました ( Order by count not sorting correctly - SQL (MS Access 2007) )ので、これはフォローアップです。
質問:
すべての結果を集計せずに頻度で注文し、関連付けられたアカウント番号を含む最高頻度 (リンゴ、マンゴー、ブドウ) で注文することはできますか?
order by に sum を使用する場合、「ORDER BY では集計関数を使用できません」ので、これを実行してもアカウント番号を分けておくことができるかどうかわかりません。