[解決済み] による分割の和
2022-03-02 17:04:35
質問
何が足りないのでしょうか?
このクエリは、重複したデータを何度も何度も返します。 カウントは完全な合計で正しいのですが、1行を期待しているのに、約40回繰り返された値が返されます。 何かアイデアはありますか?
SELECT BrandId
,SUM(ICount) OVER (PARTITION BY BrandId )
FROM Table
WHERE DateId = 20130618
これでいいか?
BrandId ICount
2 421762
2 421762
2 421762
2 421762
2 421762
2 421762
2 421762
1 133346
1 133346
1 133346
1 133346
1 133346
1 133346
1 133346
何が足りないのか?
クエリ全体がこのような状態なので、パーティションを削除できません。
SELECT BrandId
,SUM(ICount) OVER (PARTITION BY BrandId)
,TotalICount= SUM(ICount) OVER ()
,SUM(ICount) OVER () / SUM(ICount) OVER (PARTITION BY BrandId) as Percentage
FROM Table
WHERE DateId = 20130618
これを返します。
BrandId (No column name) TotalICount Percentage
2 421762 32239892 76
2 421762 32239892 76
2 421762 32239892 76
2 421762 32239892 76
2 421762 32239892 76
2 421762 32239892 76
私は、distinctを使わなくても、このような出力が得られると期待しています。
BrandId (No column name) TotalICount Percentage
2 421762 32239892 76
9 1238442 32239892 26
10 1467473 32239892 21
解決方法は?
を使用することができます。
DISTINCT
を削除するか、あるいは
PARTITION BY
の部分を削除し
GROUP BY
:
SELECT BrandId
,SUM(ICount)
,TotalICount = SUM(ICount) OVER ()
,Percentage = SUM(ICount) OVER ()*1.0 / SUM(ICount)
FROM Table
WHERE DateId = 20130618
GROUP BY BrandID
もし、合計をブランドIDごとのカウントで割るのが間違いであり、合計のパーセントを求めるのであれば、上記のビットを逆にしてください。
SELECT BrandId
,SUM(ICount)
,TotalICount = SUM(ICount) OVER ()
,Percentage = SUM(ICount)*1.0 / SUM(ICount) OVER ()
FROM Table
WHERE DateId = 20130618
GROUP BY BrandID
関連
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] 3を挿入すると「ORA-01438: この列で許容される指定精度より大きい値」と表示される。
-
[解決済み】単一のクエリで加重平均を計算する
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] Oracle(LiveSQL)のSQL [重複]について
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] INNER JOINよりもCROSS APPLYを使用すべきなのはどのような場合ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み】countとgroup byを同じselect文で使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み】SQLクエリ「00904. 00000 - "%s: 無効な識別子"
-
[解決済み】参照するテーブルにプライマリーキーやキャンディデートキーがない
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み】SQL Server: 無効なカラム名
-
[解決済み】単一のクエリで加重平均を計算する
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] SQLクエリで2つの列から値を引き算する
-
[解決済み] MySQLのON句の不明なカラム