sql >> データベース >  >> RDS >> Sqlserver

SQL Serverクエリでgroupbyを使用するにはどうすればよいですか?

    一般に、GROUPingを開始すると、SELECTにリストされているすべての列は、GROUP内の列またはその集合体のいずれかである必要があります。次のようなテーブルがあるとします:

    | ID | Name        | City        |
    |  1 | Foo bar     | San Jose    |
    |  2 | Bar foo     | San Jose    |
    |  3 | Baz Foo     | Santa Clara |
    

    データベース内のすべての都市のリストを取得したい場合は、次のことを試してください。

    SELECT * FROM table GROUP BY City
    

    ... GROUP BY句にない列(IDと名前)を要求しているため、失敗します。代わりに:

    SELECT City, count(City) as Cnt FROM table GROUP BY City
    

    ...そしてそれはあなたを得るでしょう:

    | City        | Cnt |
    | San Jose    |  2  |
    | Santa Clara |  1  |
    

    ...しかし、IDや名前は取得できません。たとえば、より複雑なことを行うことができます。副選択または自己結合しますが、基本的に、あなたがやろうとしていることは、述べられているように不可能です。問題をさらに細かく分析し(データをどのように見せたいですか?)、そこから進んでください。

    頑張ってください!



    1. MySQLの更新/ステートメントの挿入を高速化

    2. SQLServerのCPUパフォーマンスの問題のトラブルシューティング

    3. PHPの実行を制限しますか?

    4. bind_param()は、ユーザーが入力した値またはすべてにのみ必要ですか?