Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana menerapkan Memiliki Klausa dengan Grup dengan di Select Query - Tutorial SQL Server / TSQL Bagian 131

Skenario:

Anda bekerja sebagai pengembang SQL Server, Anda diminta untuk menulis kueri yang seharusnya mengembalikan Total SaleAmount dari tabel dbo.Customer oleh CountryShortName. Anda juga diminta untuk memfilter catatan di mana Total SaleAmount menurut CountryShortName lebih besar dari 10.


Solusi:

Dari skenario di atas, Anda telah memperhatikan beberapa hal. Pertama kita perlu menjumlahkan SaleAmount. Kedua, kita perlu mengelompokkan berdasarkan SaleAmount berdasarkan CountryShortName. Hal terakhir yang kita perlukan untuk memfilter record-record tersebut setelah menghitung jumlah dan hanya mengembalikan dimana total SaleAmount lebih besar dari 10. Kita tidak dapat menggunakan klausa Where di sini sebagai dimana akan memfilter record sebelum Group by. SQL Server menyediakan klausa Have yang dapat kita gunakan untuk menyaring record setelah group by.
Mari kita buat dbo.Customer Table dengan record di bawah ini lalu tulis query kita dengan menggunakan klausa Group by dan Have.

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)
 
 
 Mari kita tulis query kita dengan menggunakan Group by dan kemudian gunakan Have untuk memfilter record dimana Sum(SaleAmount) lebih besar dari 10.
SELECT countryshortname, 
       Sum(saleamount) SaleAmountByCountry 
FROM   dbo.customer 
GROUP  BY countryshortname 
HAVING Sum(saleamount) > 10 
 Cara memfilter data agregat dengan menggunakan klausa Memiliki dalam SQL 


Video Demo :Cara menggunakan Memiliki Klausa di SQL Select Statement

 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa Apakah string berisi karakter beraksen dalam SQL?

  2. Bagaimana cara terhubung ke mssql menggunakan pdo melalui PHP dan Linux?

  3. LOG10() Contoh di SQL Server

  4. Membuat Profil Email Database di SQL Server (T-SQL)

  5. Klausa WHERE lebih baik dieksekusi sebelum IN dan JOIN atau sesudahnya