SQL GROUP BY Statement Explained with Examples
170 likes | 261 Vues
Learn how to use GROUP BY statement in SQL to group results and perform aggregate functions on the grouped data. Examples and syntax included.
SQL GROUP BY Statement Explained with Examples
E N D
Presentation Transcript
GROUP BY Statement The GROUP BY statement is used in conjunction with the aggregate functions to group the result-set by one or more columns.
SQL GROUP BY Syntax SELECTcolumn_name, aggregate_function(column_name)FROMtable_nameWHEREcolumn_name operator valueGROUP BY column_name
Sửdụngcáchàm COUNT, SUM, MIN, MAX, AVG trêntừngnhómnhỏ: mệnhđề GROUP BY • Chiacácdòngthànhcácnhómnhỏdựatrêntậpthuộctínhchianhóm. • Thựchiệncácphéptoántrênnhómnhư: Count (thựchiệnphépđếm), Sum (tínhtổng), Min(lấygiátrịnhỏnhất), Max(lấygiátrịlớnnhất), AVG (lấygiátrịtrungbình).
S BANG VD Câu SQL: Select Ten, count(So luong) As SL From VD Group by Ten Ten SL A 2 2 B 5 C D 3 Chiacácdòngthànhcácnhómdựatrêntậpthuộctínhchianhóm
SQL – MỆNH ĐỀ HAVING • Lọckếtquảtheođiềukiện, saukhiđãgomnhóm • Điềukiệncủa HAVING làđiềukiệnvềcáchàmtínhtoántrênnhóm (Count, Sum, Min, Max, AVG) vàcácthuộctínhtrongdanhsách GROUP BY.
SELECTcolumn_name, aggregate_function(column_name)FROM table_nameWHEREcolumn_name operator valueGROUP BYcolumn_nameHAVINGaggregate_function(column_name) operator value
BANG VD Câu SQL: Select Ten, count(So luong)As SL From VD Group by Ten Having count(So luong) >2 Ten SL Ten SL A 2 C 5 2 B 3 D 5 C D 3
Câutruyvấntổngquát:SELECT[DISTINCT] danh_sách_cột | hàm FROMdanhsáchcácquanhệ (hay bảng, table) [WHEREđiều_kiện] [GROUP BYdanh_sách_cột_gom_nhóm] [HAVINGđiều_kiện_trên_nhóm] [ORDER BYcột1 ASC | DESC, cột2 ASC | DESC,… ]
Cáccâulệnhlồngnhau • Làcáclệnh Select trongđócóchứacáclệnhSlectkhác • Cáccâulệnhbêntrongnằmsaumệnhđề where hoặc Having củacâulệnh Select bênngoài.
Xétbảng NHANVIEN trên Vídụ: ĐưaraHoTen, TenDV, Congviec, Luongcủanhữngngườicólươnglớnhớnlươngtrungbìnhcủanhânviên? -> Tìmnhânviênthỏayêucầu Select HoTen, TenDV, Congviec , Luong From NHANVIEN Where Luong> (Select AVG (Luong) From NHANVIEN)
Vídụ 2 Vídụ: ĐưaraHoTen, TenDV, Congviec, Luongcủanhữngngườicólươngthấpnhấttrpngtừngđơnvị. SELECTHoten, MaDV, Luong FROM NHANVIEN WHERE (MaDV, Luong) IN (SelectMaDV, Min(Luong) From NHANVIEN Group by MaDV)
Vídụ 3 ĐưaraHoTen, TenDV, Congviec, Luongcủanhữngngườicólươnglớnnhấtcủađơnvịcómãlà 0002 SELECTHoten, Luong FROM NHANVIEN WHERELuong> ALL(SelectLuong From NHANVIEN WhereMaDV ='0002')
SELECT MaNV, Hoten, Luong FROM NHANVIEN WHERE Luong IN (SELECT Min(Luong) FROM NHANVIEN GROUP BY MaDV)