SQL GROUP BY 句: エイリアスの制限
SQL GROUP BY
句でエイリアスを使用すると便利ですが、その制限を理解することが重要です。 次のクエリは、一般的な問題を示しています:
SELECT itemName as ItemName, substring(itemName, 1,1) as FirstLetter, Count(itemName) FROM table1 GROUP BY itemName, FirstLetter
FirstLetter
は 句で のみSELECT
で定義されたエイリアスであるため、このクエリは失敗します。 データベースは、GROUP BY
句の前に 句を処理します。したがって、SELECT
はまだ認識されていません。 正しいクエリには、元の式を使用する必要があります:FirstLetter
GROUP BY itemName, substring(itemName, 1,1)
FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
句で使用する前に定義する必要があります。GROUP BY
句内でエイリアスの使用が許可される場合があります。 ただし、コードを異なるデータベース システム間で実行する必要がある場合、この動作に依存すると移植性の問題が発生する可能性があります。 互換性を最大限に高めるには、GROUP BY
句でのエイリアスを避け、代わりに元の列名または式を使用することをお勧めします。GROUP BY
以上が一部の SQL データベースの GROUP BY 句でエイリアスを使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。