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

SQLServerの句によるグループ化を理解する-SQLServer/TSQLチュートリアルパート130

    シナリオ:

    あなたはSQLServer開発者として働いています。 CountryShortNameとSaleAmountを持つdbo.Customerテーブルがあります。合計SaleAmount、CountryShortNameによるレコード数を返すクエリを作成するように求められます。


    解決策:

    Group by句は、Sum、Avg、Count、Max、Minなどの集計関数でよく使用され、結果セットを列ごとにグループ化します。
    いくつかのデータを使用してサンプルテーブルを作成し、Groupbyを使用してクエリを記述します。質問に答えてください。
    Create table dbo.Customer
     (Id int,
      FName VARCHAR(50),
      LName VARCHAR(50),
      CountryShortName CHAR(2),
      SaleAmount Int)
    GO
    --Insert Rows in dbo.Customer Table
    insert into dbo.Customer
    Values (
    1,'Raza','M','PK',10),
    (2,'Rita','John','US',12),
    (3,'Sukhi','Singh',Null,25),
    (4,'James','Smith','CA',60),
    (5,'Robert','Ladson','US',54),
    (6,'Alice','John','US',87),
    (6,'John',Null,'US',Null)
     
     Sum、Count、Groupby句を使用してクエリを記述しましょう
    SELECT Sum(saleamount) AS TotalSaleByCountry, 
           Count(*) AS RecordCountByCountry, 
           countryshortname 
    FROM   dbo.customer 
    GROUP  BY countryshortname
     SQLServerでGroupby句を使用する方法
     
    groupby句で複数の列を使用することもできます。テーブルに状態があり、CountryShortNameとStateでグループ化する場合は、次のようにクエリにStateを含めるだけです。

    SELECT Sum(saleamount) AS TotalSaleByCountry, 
           Count(*) AS RecordCountByCountry, 
           countryshortname,
           [State]
    FROM   dbo.customer 
    GROUP  BY countryshortname,[State]
     
     
     
     
     
    Video Demo: What is Group by Clause in SQL Server
     

    1. 2011年春のPostgreSQLカンファレンス、米国/カナダ

    2. Java WebアプリケーションでUTF-8を機能させる方法は?

    3. サーバー上のDB接続を管理する方法は?

    4. 前月のすべての日付を一覧表示するoraclesqlクエリ