[Khóa học sử dụng SQL server] - Bài 18: Group by| HowKteam

Поділитися
Вставка
  • Опубліковано 8 лют 2025
  • [Khóa học sử dụng SQL server] - Bài 18: Group by| HowKteam
    Nếu các bạn thấy hay thì hãy đăng ký theo dõi kênh, like, share cho mọi người cùng tham gia nhé.
    Muốn ủng hộ mình các bạn có thể nhấn vào quảng cáo hiện lên và load xong để mình được ít tiền duy trì nhé.
    Cảm ơn mọi người.
    Học thêm kiến thức hoặc tải tài liệu tại www.howkteam.com/
    Luyện tập trắc nghiệm mỗi ngày tại kquiz.vn/
    Bài trước:
    [Khóa học sử dụng SQL server] - Bài 17: Truy vấn lồng| HowKteam
    • [Khóa học sử dụng SQL ...
    Bài sau:
    [Khóa học sử dụng SQL server] - Bài 19: Group by - Having| HowKteam
    • [Khóa học sử dụng SQL ...
    Tập hợp khóa học lập trình cơ bản đến nâng cao.
    Tham gia group để cập nhật thêm thông tin cũng như tham gia khóa học online miễn phí.
    Group FB: goo.gl/8T2krI
    Website: www.howkteam.com/
    Danh sách phát: goo.gl/0LIji0
    C++:
    Lập trình C++: goo.gl/8RCMte
    Bài toán kinh điển C++: goo.gl/7CszwZ
    C#:
    Lập trình C#: goo.gl/AhxyAI
    Lập trình C# WinForms: goo.gl/dPbSm4
    Lập trình ASP.NET MVC: goo.gl/riqrzP
    Java:
    Lập trình Java: goo.gl/VoDbbs
    Lập trình Android: goo.gl/LyV3ZX
    Game:
    Lập trình Unity 3D: goo.gl/RcBi6c
    Office:
    Office Word 2016: goo.gl/GQUk5E
    Office Excel 2016: goo.gl/N3qdKs
    Office Power Point 2016: goo.gl/zegyVx
    Products:
    Game Caro C# Winforms: goo.gl/bMuXEC
    Game Flappy Bird Unity 3D: goo.gl/K00l5y
    Game bắn Zombies Unity 3D: goo.gl/HUjWlt
    Game Doge Unity 3D: goo.gl/0pysFu
    App lập lịch C# Winforms: goo.gl/xO0iX3
    App từ điển nói C# Winforms: goo.gl/KgHNNn
    App quản lý quán Cafe C# Winforms: goo.gl/FLZDDM
    App key logger C# Winforms: goo.gl/qV93CV
    Stream:
    Kỹ thuật: goo.gl/tGtmwq
    Kinh nghiệm: goo.gl/VsQjkc
    Âm thanh:
    Two Step From Hell Colors Of Love
    fbl.me/TJB
    / thomas-bergersen-14790...
    / fourformusic
    www.thomasberge...

КОМЕНТАРІ •

  • @KTeam
    @KTeam  7 років тому +1

    Để ủng hộ Kteam các bạn xem bài viết tại website Howkteam.com và click quảng cáo để hỗ trợ team có kinh phí duy trì nhé!
    www.howkteam.com/course/Su-dung-SQL-server/Group-By-trong-SQL-Server-1399
    Nếu bạn thấy bổ ích, đừng quên chia sẻ để lan truyền GIÁO DỤC MIỄN PHÍ đến cộng đồng!
    Cảm ơn bạn đã luôn đồng hành cùng Kteam

  • @nuongphan8970
    @nuongphan8970 2 роки тому +1

    Cảm ơn a ạ. Xem nhiều video mà có video của a là giảng kỹ mà dễ hiểu nữa

  • @tranghuynh3142
    @tranghuynh3142 5 років тому +3

    "ghê chưa, ghê chưa" mỗi lần tới đây em thấy mắc cười :vv. Nhưng mà anh giảng dễ hiểu ạ, cảm ơn anh

  • @nthach1411
    @nthach1411 Рік тому +1

    "hổng xài hổng biết" =)) thầy Long dễ thương quá :))

  • @DuongNguyen-wk5ye
    @DuongNguyen-wk5ye 2 роки тому

    Cảm ơn video bổ ích của nhóm ạ

  • @nguyenthihalinh4856
    @nguyenthihalinh4856 Рік тому +2

    1 cách của câu 3 ạ:
    SELECT TOP 1 * FROM
    (SELECT K.TENKHOA, SUM(GV.LUONG) AS TONGLUONG FROM KHOA AS K, GIAOVIEN AS GV, BOMON AS BM
    WHERE GV.MABM = BM.MABM AND BM.MAKHOA = K.MAKHOA
    GROUP BY K.TENKHOA
    ORDER BY TONGLUONG DESC OFFSET 0 ROWS) T

  • @zypeLLas
    @zypeLLas 2 роки тому +1

    Hay quá ! Dễ hiểu lắm anh !

  • @quyle2185
    @quyle2185 2 роки тому +5

    câu 3 :
    SELECT K.TENKHOA, SUM(GV.LUONG) AS LUONGMOI INTO TONGLUONG
    FROM GIAOVIEN AS GV, BOMON AS BM, KHOA AS K
    WHERE GV.MABM = BM.MABM AND BM.MAKHOA = K.MAKHOA GROUP BY K.TENKHOA
    SELECT TENKHOA FROM TONGLUONG
    WHERE LUONGMOI = (SELECT MAX(LUONGMOI) FROM TONGLUONG)
    hoặc
    SELECT K.TENKHOA, SUM(GV.LUONG) AS 'LUONGMOI1' INTO TONGLUONG1
    FROM KHOA AS K, GIAOVIEN AS GV, BOMON AS BM
    WHERE K.MAKHOA = BM.MAKHOA AND GV.MABM = BM.MABM
    GROUP BY K.TENKHOA ORDER BY LUONGMOI1 DESC
    SELECT TOP(1)TENKHOA FROM TONGLUONG1

  • @phamngoc6990
    @phamngoc6990 4 роки тому +8

    Câu lấy ra danh sách giáo viên có lương > lương trung bình của giáo viên hình như anh làm không đúng.
    Lương trung bình là 2040. Như vậy chỉ có 5 giáo viên có lương lớn hơn lương trung bình này thôi.
    select * from GIAOVIEN where giaovien.LUONG > (select AVG(GIAOVIEN.LUONG) from GIAOVIEN)

  • @letrung5447
    @letrung5447 7 років тому +1

    tks kteam, clips rất hay.

  • @PhuongNguyen-rd8yo
    @PhuongNguyen-rd8yo 7 років тому

    All clip very good!!!
    Thanks

  • @phanthanhquyen
    @phanthanhquyen 8 років тому +2

    Cảm ơn Kteam

  • @hiepnguyen9064
    @hiepnguyen9064 2 роки тому +2

    Xem Ông nhiều cái tự mò , tự biên tự diễn hài vãi chữa

  • @bnam196
    @bnam196 4 роки тому

    - E xem cái video này cách day 3 năm trc, nhưng bh vẫn phải xem lại!! bh mới lại đc học tiếp :((
    - Nhưng a K team, check xem cái mà ví dụ mở đầu, a bảo k dùng đc WHERE e cố thử dùng mà n vẫn ok nè! :v
    -- XUAT RA DANH SACH TEN BO MON VA SO LUONG GIAO VIEN CUA BO MON DO
    SELECT BM.TENBM, (SELECT COUNT(*) FROM dbo.GIAOVIEN AS GV
    WHERE BM.MABM = GV.MABM) AS SL FROM dbo.BOMON AS BM
    WHERE 1

  • @HELuongMinhDat
    @HELuongMinhDat 4 роки тому

    thanks how k team ạ!!

  • @nguyengiaphong2792
    @nguyengiaphong2792 Рік тому

    em cảm ơn anh

  • @2012khoa
    @2012khoa 4 роки тому +1

    Như này chuẩn khỏi chỉnh chưa nhỉ hehe ^^
    ---Xuất ra tên khoa có tổng số lương của GV trong khoa là lớn nhất:
    ----------------------------------------------------------------------------------
    select K.TENKHOA, sum(GV.LUONG) as Salary
    into LUONGKHOA
    from dbo.KHOA as K, dbo.BOMON as BM, dbo.GIAOVIEN as GV
    where K.MAKHOA = BM.MAKHOA and GV.MABM = BM.MABM
    group by K.TENKHOA
    GO
    SELECT TOP(1) Salary, LUONGKHOA.TENKHOA FROM dbo.LUONGKHOA
    ORDER BY Salary DESC, LUONGKHOA.TENKHOA
    GO

    • @thanhtc1988
      @thanhtc1988 2 роки тому

      cách của bạn có vấn đề là sẽ tạo ra 1 bảng không mong muốn là LUONGKHOA

  • @tortoise10h
    @tortoise10h 6 років тому

    rất bổ ích và dễ hiểu..:3

  • @nghianguyentrong8449
    @nghianguyentrong8449 Рік тому

    câu 3 của em ạ
    SELECT TOP(1) KHOA.MAKHOA, KHOA.TENKHOA, SUM(LUONG) AS N'Tổng Lương' FROM KHOA, BOMON, GIAOVIEN
    WHERE BOMON.MAKHOA = KHOA.MAKHOA AND
    GIAOVIEN.MABM = BOMON.MABM
    GROUP BY KHOA.MAKHOA , KHOA.TENKHOA
    ORDER BY SUM(LUONG) DESC

  • @thanhphongle7325
    @thanhphongle7325 Рік тому

    " Hỏng sài hỏng Biết" 😍

  • @linhtranbao4732
    @linhtranbao4732 3 роки тому +1

    Group by nhóm các hàng có cùng giá trị

  • @VietHoang-oc4ps
    @VietHoang-oc4ps Рік тому

    Thấy thầy làm video lúc 6h sáng =))

  • @locphan7419
    @locphan7419 4 роки тому

    Học a vừa dễ hiểu vừa kiểu bị buồn cười, học cuốn thật sự :))

  • @hagiangpham6816
    @hagiangpham6816 4 роки тому +2

    sao mình không dùng luôn AVG mà dùng SUM/COUNT vậy ạ

  •  3 роки тому

    hay quá

  • @DuongNguyen-wk5ye
    @DuongNguyen-wk5ye 2 роки тому

    a cho e hỏi với ạ. E có bảng dữ liệu các vật tư như thép chằng hạn. HIện tại kho có 150 cây thép đến ngày 15.3.2022 kho nhập 50 cây thép thì e chỉ muốn hiện số tổng cây thép là 200 cây thì là thế nào ạ. E cảm ơn.

  • @phamhoanglamtruong203
    @phamhoanglamtruong203 2 роки тому

    A cho e hỏi là mấy cái table đó mk lấy ở đâu để lm v ad

  • @VanThoNguyen-v4p
    @VanThoNguyen-v4p 11 місяців тому

    ĐÁP ÁN CÂU 3:
    SELECT TOP(1) K.TENKHOA, SUM(GV.LUONG) AS N'TONG LUONG' FROM dbo.KHOA AS K, dbo.GIAOVIEN AS GV, dbo.BOMON AS BM
    WHERE K.MAKHOA = BM.MAKHOA AND GV.MABM = BM.MABM
    GROUP BY K.TENKHOA

  • @xMingNgw
    @xMingNgw 5 років тому +1

    :))
    Bài 1:
    select hoten,COUNT(*) as Tongnguoithan from GIAOVIEN as gv, NGUOITHAN as nt
    where gv.magv=nt.MAGV
    group by hoten
    bài 2 :
    select hoten,COUNT(*) as Tongsodetaidahoanthanh from GIAOVIEN as gv,THAMGIADT as tg
    where gv.MAGV=tg.magv and KETQUA=N'Đạt'
    group by HOTEN,ketqua
    bài 3 :
    SELECT tong.makhoa,max(tongluong) as maxluong
    FROM
    (
    SELECT KH.MAKHOA,SUM(LUONG) as tongluong
    FROM dbo.GIAOVIEN AS GV, dbo.BOMON AS BM,dbo.KHOA AS KH
    WHERE GV.MABM=BM.MABM
    AND BM.MAKHOA=KH.MAKHOA
    GROUP BY KH.MAKHOA
    ) AS TONG
    WHERE tongluong =
    (
    SELECT max(tongluong)
    FROM
    (
    SELECT KH.MAKHOA,SUM(LUONG) as tongluong
    FROM dbo.GIAOVIEN AS GV, dbo.BOMON AS BM,dbo.KHOA AS
    KH
    WHERE GV.MABM=BM.MABM
    AND BM.MAKHOA=KH.MAKHOA
    GROUP BY KH.MAKHOA
    ) AS TONG
    )
    group by makhoa

    • @TienNguyen-ll3cu
      @TienNguyen-ll3cu 4 роки тому

      bài 1 nếu muốn xuất ra cả 10 giáo viên luôn thì sao bạn nhỉ ? những giao viên không có người thân thì count sẽ = 0

    • @2012khoa
      @2012khoa 4 роки тому

      @@TienNguyen-ll3cu tạo thêm 1 bảng phụ cho GV ko có người thân, rồi xuất kết hợp cả 2 bảng là xong

    • @trinhtranvan4190
      @trinhtranvan4190 2 роки тому

      Bài 3 sao phức tạp thế ạ

  • @_callMeGau
    @_callMeGau 2 роки тому +1

    thầy ơi Lương trung bình giáo viên tính bằng hàm AVG đc ko ạ, sao thầy phải lấy sum / count ạ?

  • @ucLe-iq2ep
    @ucLe-iq2ep 6 років тому

    .Mọi người cho em hỏi :Xuất ra tên giáo viên và số lượng đề tài đã hoàn thành mà giáo viên đó đã tham gia ,tức là xuất ra tên giáo viên và số lượng đề tài là mà kết là đạt đúng không ạ

  • @thanhtam7749
    @thanhtam7749 4 роки тому

    liệt kê ds bộ môn và số lượng bộ môn nếu ko dùng group by thì mình dùng truy vấn lồng đc ko ạ.

    • @thanhtam7749
      @thanhtam7749 4 роки тому

      sao nó không hiện ra tất cả các BM có nhỉ, nó chỉ hiện BM có giáo viên thôi, mấy BM ko có gv dạy thì nó ko ra vại nhỉ.

    • @cc-pz9ul
      @cc-pz9ul 11 місяців тому

      @@thanhtam7749Khi bạn truy vấn GV.MABM = BM.MABM, thì BM.MABM nào mà không tồn tại GV.MABM tương ứng, đương nhiên nó sẽ không hiện ra rồi.

  • @MrCuongdepzai
    @MrCuongdepzai 4 роки тому

    phút 16 xuất giáo viên có lương > lương trung bình bị sai ad ơi ,
    SELECT * FROM dbo.GIAOVIEN
    WHERE LUONG >
    (SELECT AVG(Luong) FROM dbo.GIAOVIEN)

    • @MrCuongdepzai
      @MrCuongdepzai 4 роки тому

      bài 3 mình làm thế này đc ko nhỉ
      --3 xuất ra tên khoa có tổng số lương của giáo viên trong khoa lớn nhất
      SELECT MAX(TONGLUONG.[1]) from
      (SELECT SUM(gv.LUONG) AS '1' FROM dbo.BOMON AS bm, dbo.GIAOVIEN AS gv , dbo.KHOA AS KH
      WHERE bm.MABM = gv.MABM AND bm.MAKHOA = kh.MAKHOA
      GROUP BY kh.TENKHOA)AS TONGLUONG

  • @senle4326
    @senle4326 3 роки тому

    bài này nó hơi quằn, khác với những bài trước là vừa làm anh chạy trước kết quả cho người xem thấy trước, rồi giải thích sao nó như vậy. Bài này thì anh giảng trước khi xuất kết quả nên nó hơi khó hiểu

  • @ucthiennguyen7428
    @ucthiennguyen7428 5 років тому +1

    vừa quay video + vừa render video, máy trâu quá ad ơi

    • @KTeam
      @KTeam  5 років тому +3

      máy đó đi đời rồi e ạ. H a đã có máy mới!

  • @im.nchoan
    @im.nchoan 4 роки тому

    Lấy database mẫu ở đâu vậy ad

    • @KTeam
      @KTeam  4 роки тому

      link này nha www.howkteam.vn/course/Su-dung-SQL-server/Group-By-trong-SQL-Server-1399

    • @CUONGDINHHD34
      @CUONGDINHHD34 2 роки тому

      @@KTeam Admin cho mình xem kết quả câu 2 với ạ. Mình cảm ơn

    • @quyle2185
      @quyle2185 2 роки тому +1

      @@CUONGDINHHD34 bây giờ có thể bạn k cần nhưng mình cứ gửi
      SELECT GV.HOTEN, COUNT(*) AS N'SỐ LƯỢNG ĐỀ TÀI ĐÃ HOÀN THÀNH'
      FROM GIAOVIEN AS GV, THAMGIADT AS TG
      WHERE GV.MAGV = TG.MAGV AND TG.KETQUA = N'Đạt'
      GROUP BY GV.HOTEN, GV.MAGV

  • @SpiderMan-wk4gk
    @SpiderMan-wk4gk 5 років тому

    xin ad cái code full của bài này !!!!

  • @haimai1595
    @haimai1595 6 років тому

    AGGREGATE FUNCTION

  • @tienletrung5560
    @tienletrung5560 2 роки тому

    Đáp án câu 3:
    SELECT c.MAKHOA,a.TENKHOA,SUM(b.LUONG) AS N'Tổng số lương của khoa'
    INTO TONGLUONGKHOA
    FROM dbo.KHOA AS a
    JOIN dbo.BOMON AS c ON a.MAKHOA = c.MAKHOA
    JOIN dbo.GIAOVIEN AS b ON b.MABM = c.MABM
    GROUP BY c.MAKHOA,a.TENKHOA
    ORDER BY SUM(b.LUONG) DESC
    GO
    SELECT TOP (1)MAKHOA,TENKHOA FROM dbo.TONGLUONGKHOA
    GO

  • @hoanhm0409
    @hoanhm0409 Рік тому

    mn ai có tài liệu cơ sở dữ liệu e xin dc k ạ

  • @MaiTam-w4d
    @MaiTam-w4d Рік тому

    xuất ra giáo viên mà đề tài họ tham gia là đạt:
    select HOTEN, GV.MAGV , count(*) from THAMGIADT as TGDT, GIAOVIEN as GV
    where GV.MAGV = TGDT.MAGV and TGDT.KETQUA like N'Đạt'
    group by HOTEN, GV.MAGV

  • @milkmoocow3424
    @milkmoocow3424 3 роки тому +2

    Câu lương trung bình hình như không đúng ạ:
    SELECT * FROM GIAOVIEN
    WHERE LUONG >
    (SELECT AVG(LUONG) FROM GIAOVIEN)
    Như này kết quả chỉ ra 5 giáo viên thôi ạ, em tính bằng máy tính thì lương trung bình cũng là 2040, nên chỉ có 5 giáo viên thôi ạ

    • @milkmoocow3424
      @milkmoocow3424 3 роки тому

      Em thử chạy theo cách của anh thì trên máy em cũng hiện ra 5 giáo viên thôi ạ:
      SELECT * FROM GIAOVIEN
      WHERE LUONG >
      (SELECT SUM (LUONG) FROM GIAOVIEN)/(SELECT COUNT (*) FROM GIAOVIEN )

    • @inhthuanluu238
      @inhthuanluu238 3 роки тому

      5 GV thôi

    • @Tu_Do_Van
      @Tu_Do_Van 3 роки тому

      Mình cũng ra 5 kq như bạn theo 2 TH

  • @animess1343
    @animess1343 3 роки тому

    SELECT K.TENKHOA,SUM(GV.LUONG) AS TLUONG INTO NEWDS FROM KHOA AS K, GIAOVIEN AS GV,BOMON AS BM
    WHERE GV.MABM = BM.MABM AND BM.MAKHOA = K.MAKHOA
    GROUP BY K.TENKHOA
    ORDER BY TLUONG DESC
    SELECT TOP(1) * FROM NEWDS

    • @phongnguyenhong8482
      @phongnguyenhong8482 3 роки тому

      thank bạn

    • @phongnguyenhong8482
      @phongnguyenhong8482 3 роки тому

      cho mình hỏi mình cũng làm như bạn xắp xếp từ lớn xuống bé nhưng cứa dùng lệnh chọn top 1 nó lại chọn giá trị bé nhất

  • @vietanhpham4369
    @vietanhpham4369 7 років тому

    Xuất ra tên giáo viên và số lượng công việc giáo viên đó làm
    SELECT HOTEN N'TÊN GIÁO VIÊN', COUNT(*) AS N'SỐ CÔNG VIỆC'
    FROM dbo.GIAOVIEN AS GV, dbo.CONGVIEC AS CV, dbo.DETAI AS DT
    WHERE DT.GVCNDT = GV.MAGV AND DT.MADT = CV.MADT
    GROUP BY GV.MAGV, GV.HOTEN

  • @giabaophongg29
    @giabaophongg29 Рік тому

    Đáp án cho 3 câu bài tập ở cuối video: 😁
    USE HowKteam
    GO
    --Xuất ra tên GV và số lượng người thân của GV đó
    SELECT HOTEN, COUNT(*) AS SOLUONGNT FROM dbo.GIAOVIEN AS GV, dbo.NGUOITHAN AS NT
    WHERE GV.MAGV = NT.MAGV
    GROUP BY HOTEN
    --Xuất ra tên GV và số lượng đề tài đã hoàn thành mà GV đó tham gia
    SELECT HOTEN, COUNT(*) FROM dbo.GIAOVIEN, dbo.THAMGIADT, dbo.DETAI
    WHERE GIAOVIEN.MAGV = THAMGIADT.MAGV
    AND THAMGIADT.MADT = DETAI.MADT
    GROUP BY HOTEN
    GO
    --Xuất ra tên khoa có tổng số lượng của giáo viên trong là lớn nhất
    SELECT TENKHOA, COUNT(*) AS SL FROM dbo.KHOA, dbo.BOMON, dbo.GIAOVIEN
    WHERE GIAOVIEN.MABM = BOMON.MABM
    AND BOMON.MAKHOA = KHOA.MAKHOA
    GROUP BY TENKHOA
    ORDER BY SL DESC OFFSET 0 ROWS FETCH FIRST 1 ROWS ONLY
    GO

    • @KTeam
      @KTeam  Рік тому

      bạn có thể tham khảo 1 số cách mở cửa sổ CMD tại đây nha
      howkteam.vn/course/note-tip-trick-python/cac-cach-mo-cua-so-cmd-thong-dung-tren-windows-3992

  • @duonglethai23923
    @duonglethai23923 2 роки тому

    câu giáo viên và số công việc mọi người xem giúp mình xem đúng không ạ
    select gv.HOTEN,b.socongviec from dbo.GIAOVIEN as gv,dbo.THAMGIADT as tdt ,(select madt,count(*) as socongviec from dbo.CONGVIEC
    group by MADT ) as b
    where gv.MAGV=tdt.MAGV and tdt.MADT=b.MADT
    group by gv.HOTEN,b.socongviec

  • @linhdang6713
    @linhdang6713 2 роки тому

    cau 3:
    SELECT TOP 1 TENKHOA, sum(LUONG) sl FROM dbo.GIAOVIEN, dbo.BOMON, dbo.KHOA
    WHERE GIAOVIEN.MABM = BOMON.MABM AND BOMON.MAKHOA = KHOA.MAKHOA
    GROUP BY TENKHOA
    ORDER BY sl DESC

  • @longtruong6596
    @longtruong6596 2 роки тому

    Cau 3:
    select * from
    (
    select KHOA.TENKHOA, count(GIAOVIEN.MAGV) as SL
    from dbo.GIAOVIEN join dbo.BOMON
    on GIAOVIEN.MABM = BOMON.MABM
    join dbo.KHOA on BOMON.MAKHOA=KHOA.MAKHOA
    group by KHOA.TENKHOA
    order by SL desc offset 0 rows fetch first 1 rows only
    ) as T