「cnt」でグループ化できず、カウント(*)でグループ化することができないのはなぜですか?これはちょっと冗長なようだし、もっと良い方法があることを願っています。クエリで定義されたエイリアスによるグループ化?
答えて
を必要とするものであるかもしれません。具体的には、GROUP BY句はの前にのSELECT句がクエリの最後に表示されているにもかかわらず評価されます。したがって、SELECTで使用されるエイリアスは、問合せの論理的に先行する部分を評価している間は、必ずしも問合せプロセッサで使用できるわけではありません。
WHERE句でエイリアスを使用できないのと同じ理由があります。その句はSELECTの前に論理的に処理されます。一方、ORDER BYは処理されるクエリの最後の部分です。エイリアス(または序数列の位置も)は、通常はそこでサポートされるです。
いくつかの実装では、このサポートを提供することができます。たとえば、@daghanが投稿したMySQLリンクを参照してください。しかし、それは信頼できません。ご覧のとおり、SQL Serverはサポートしていません。
エイリアスで複雑な式を参照することが必死だったら、おそらくその式をサブクエリに入れてそこから参照することができます。私はほとんどのシンプルなシナリオでは、(あなたの質問のようなもの)しかし、その過剰殺戮と呼ぶだろう。
更新: @MartinSmithは、エイリアシングを除いて、集計式によるグループ化はうまくいかないという質問に対する彼のコメントで良い点を挙げています。実際、集約は非集約列のグループ化によって決定されるため、実際には意味をなさない。あなたは実際にそのようなクエリで何を達成しようとしていますか?多分私たちはさらに助けてくれるかもしれません。
関連する接続項目:[クエリのどこでも列のエイリアスの使用](http://connect.microsoft.com/SQLServer/feedback/details/610120) –
SELECT count(*) as cnt
from table
group by count(*)
GROUP BY句でエイリアスを使用することは、多くの順序位置を使用して、同様にANSI規格に拡張することができ、すべてのRDBMSによってサポートされなくてもよいです。上記
http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html
あなたはそれがSQLクエリの論理的な処理順序に関係しています
select
ステートメントのorder by
句以外の句で列エイリアスを使用する方法はありません。これは、投影リストとそれに続くselect
のエイリアシングが、他のすべての節が評価された後、そしてorder by
の前にのみ評価されるからです。
- 1. MySQLクエリでグループ化されたグループ
- 2. SQLクエリでグループ化されたCOUNT
- 3. グループ化された項目のIDのリストを定義する
- 4. エイリアス化された列でこのクエリを高速化するにはどうすればよいですか?
- 5. MySQLグループ化されたクエリを選択
- 6. のSolr 6.6.2グループ化されたクエリ
- 7. アクセスレポートのグループ化されたフィールドのエイリアスがあります
- 8. グループ化されたSQLによるエラー
- 9. data.table Jで定義された列によるサブセット化
- 10. i3ユーザー定義のグループ化によってウィンドウをグループ化する方法
- 11. SQLクエリーのグループ化のヘルプおよびネストされたクエリ
- 12. どのグループ定義された要素
- 13. グループ化されたデータの値をユーザー定義関数に置き換える
- 14. 複数のJOINで月ごとにグループ化されたクエリ
- 15. bashスクリプトで定義された関数のtcshでエイリアスを設定する
- 16. mysqlはネストされたクエリでグループ化します
- 17. 再帰的クエリ(SQL Server)でグループ化された結果
- 18. C#でパラメータ化された型エイリアスを定義することはできますか?
- 19. 他のスクリプトで.bashrcで定義されたエイリアスを使用する方法?
- 20. GraphQLネストされたクエリ定義
- 21. グループ化されたハイチャートのグループ化されたグラフ - グループ化された看護援護者のプラグイン
- 22. 最大値を持つグループ化されたエンティティをクエリする
- 23. クエリでグループ化された場所で結果を取得するには
- 24. グループ化されたbarchartはグループ化されたパネルではない
- 25. エイリアスはどこに定義されていますか
- 26. インポートされたモジュールのエイリアスをPythonで定義できますか?
- 27. パンダ:グループ化されたデータフレーム
- 28. グループ化されたUITableView
- 29. グループ化されたデータ
- 30. グループ化されたログインビュー
この文は正しくありません: "GROUP BY句のリストでグループに使用された式に集約または副問合せを使用できません。"私はその質問を断言しない。私はそれを投票しない。しかし、説明することはできますか? – danihp
意味をなさない 'count(*)でグループ化することはできません。 –