[解決済み] SQL - Group Byでaliasを使用する
2022-04-23 09:45:36
質問
SQLの構文についてちょっと質問です。もし私が
SELECT
itemName as ItemName,
substring(itemName, 1,1) as FirstLetter,
Count(itemName)
FROM table1
GROUP BY itemName, FirstLetter
これは、以下の理由で正しくありません。
GROUP BY itemName, FirstLetter
本当にそうでなければ
GROUP BY itemName, substring(itemName, 1,1)
しかし、単に便宜上前者を使うだけではダメなのでしょうか?
どのように解決するのか?
SQLは、以下の順序でクエリが実行されるものとして実装されています。
- FROM句
- WHERE句
- GROUP BY句
- HAVING句
- SELECT句
- ORDER BY 節
ほとんどのリレーショナルデータベースシステムでは、この順序は、どの名前(カラムまたはエイリアス)が前のステップで導入されなければならないので、有効であるかを説明します。
つまり、OracleとSQL Serverでは、GROUP BYはSELECT句の前に実行されるため、SELECT句で定義した用語をGROUP BY句で使用することはできません。
でも、例外もあります。MySQLとPostgresには、それを可能にする追加のスマートネスがあるようです。
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] パラメータを取るBashのエイリアスを作る?
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] LINQのGroup by
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
MySQL - ストアドプロシージャ (データ型、関数)
-
org.postgresql.util.PSQLException: ERROR: リレーション "userinfo" の列 "loginid" が存在しません。
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQL Server における DateTime2 と DateTime の比較
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] SQLのインデックスとは何ですか?
-
[解決済み] T-SQL文の接頭辞Nの意味と使うべきタイミングは?
-
[解決済み] Selectステートメントで特定のフィールドの重複を検索する
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?