[解決済み】postgresqlでクエリ結果を月と年でグループ化する。
2022-04-13 12:55:18
質問
Postgresサーバーに以下のデータベーステーブルがあります。
id date Product Sales
1245 01/04/2013 Toys 1000
1245 01/04/2013 Toys 2000
1231 01/02/2013 Bicycle 50000
456461 01/01/2014 Bananas 4546
を与えるクエリを作成したいと思います。
SUM
の
Sales
列を作成し、以下のように月と年ごとに結果をグループ化します。
Apr 2013 3000 Toys
Feb 2013 50000 Bicycle
Jan 2014 4546 Bananas
簡単な方法はないのでしょうか?
どのように解決するのですか?
select to_char(date,'Mon') as mon,
extract(year from date) as yyyy,
sum("Sales") as "Sales"
from yourtable
group by 1,2
ラドゥのリクエストで、そのクエリを説明します。
to_char(date,'Mon') as mon,
: date"属性を月の短縮形の定義された書式に変換します。
extract(year from date) as yyyy
: Postgresql の "extract" 関数は "date" 属性から YYYYY 年を抽出するために使用されます。
sum("Sales") as "Sales"
: SUM() 関数は、すべての "Sales" 値を合計し、ダブルクォートを使用して大文字と小文字の区別をするエイリアスを提供します。
group by 1,2
: GROUP BY 関数は、SELECT リストから集約の一部ではないすべての列(別名、SUM/AVG/MIN/MAX などの関数内にないすべての列)を含む必要があります。これは、SUM()が各列のユニークな組み合わせ(この場合は月と年の列)に対して適用されるべきことをクエリに伝えます。しかし、読みやすさを考えると、完全な"to_char(...)"と"extract(...)"式を使用することが最善でしょう。
関連
-
[解決済み】''付近の構文が正しくない
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み] テスト
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] SQLでchar値をmoneyに変換できない
-
[解決済み] MySQLクエリ GROUP BY 日/月/年
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] PostgreSQL の 'group by' クエリで、文字列フィールドの文字列を連結する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】使用されるSELECT文は列の数が異なる(REDUX!)
-
[解決済み] Varchar は Sum 演算子では無効です。
-
[解決済み] "このSqlTransactionは完了しました。もう使用できません。"...設定エラー?
-
[解決済み] Presto の JSON_EXTRACT で ' ' 文字を含むキーに問題がある。
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
-
[解決済み] 1行目4列目(年)の一括読み込みデータ変換エラー(型の不一致または指定したコードページに対して無効な文字)
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?