Khóa Học SQL Server - Bài 22. Bài tập ôn tập câu lệnh SQL

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 117

  • @HangNguyen-pm7ls
    @HangNguyen-pm7ls Рік тому +3

    Cách học của em là xem qua và cố ghi nhớ lệnh sau đó tự làm bài tập anh giao trc khi a chữa ! Và điều đó khá hiệu quả ! Cảm ơn a nhiều

  • @nguyentrantridung4787
    @nguyentrantridung4787 Рік тому +3

    Mình làm bài theo đến lần thứ 3...Mới hiểu chút ít.
    Rất cảm ơn Các Clip của Bạn.
    Bạn Tâm huyết soạn. . . Mình quyết tâm theo.
    Chúc Bạn Vui - Khỏe - Thành đạt . .
    Chân Thành .

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

    --Example 8:
    Select ShipCity, count(OrderID) 'SoLuong'
    from Orders
    Where ShippedDate between '1997-04-01' and '1997-08-31'
    group by ShipCity
    having count(OrderID) 1 and count(OrderID) 2
    order by count(OrderID)
    25 rows
    Em cảm ơn vì bài giảng ạ

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

    Em xin cảm ơn video của anh ạ.
    Em gửi đáp án bài tập:
    Select ShippedCity, Count(*) as 'TotalOrder'
    From Orders
    where OrderDate between '1997-04-01' and '1997-08-31'
    group by ShippedCity
    having Count(*) not in (1,2)
    Thử thách:
    Hãy lọc ra các đơn hàng được giao đến LonDon bị trễ và có số lượng lớn hơn 100; sắp xếp theo ngày giao hàng giảm dần

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

    SELECT [ShipCity], COUNT(*)AS"TOTAL ORDER"
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*) NOT IN (1,2);
    --21 dòng
    Cảm ơn thầy vì chuỗi bài giảng tâm huyết ạ!

  • @HuyNguyen-bx7cl
    @HuyNguyen-bx7cl Рік тому +1

    BT08:
    SELECT ShipCity,COUNT(*) AS TOTALORDER
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) 1 AND COUNT(*) 2
    Thanks Ad, khóa học rất hữu ích.

  • @vivi326
    @vivi326 5 місяців тому +1

    Em cảm ơn video của anh ạ!
    Bài tập 8:
    SELECT [ShipCity], COUNT([OrderID]) AS [SL đơn]
    FROM [dbo].[Orders]
    WHERE [ShippedDate] between '1997-07-01' and '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) 1 and COUNT([OrderID]) 2 ;

    • @ngocbich7545
      @ngocbich7545 3 місяці тому

      phần having mình có thể để là COUNT([OrderID]) >=3 cho ngắn bạn ạ

  • @TranThien-qf7uz
    @TranThien-qf7uz 9 місяців тому

    cảm ơn thầy, em gửi đáp án bài tập ạ
    Select shipcity, count(*) as [hoadon]
    From orders
    Where shipcity between ‘1997-04-01’ and ‘1997-08-31’
    Group by shipcity
    Having count(*) >= 3
    Order by count(*) desc

  • @thuansonhung7759
    @thuansonhung7759 Місяць тому

    select [ShipCity], count([OrderID]) as [luongdonhang]
    from [dbo].[Orders]
    where [RequiredDate] between '1997-04-01' and '1997-08-31'
    group by [ShipCity]
    having count(*) not in (1,2)
    order by count(*) desc;
    Em cảm ơn thầy vì bài giảng!

  • @atdevil4515
    @atdevil4515 8 місяців тому

    E cảm ơn thầy ạ
    Bài tập :
    SELECT [ShipCity],[ShippedDate], COUNT([OrderID])
    FROM [dbo].[Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity],[ShippedDate]
    HAVING COUNT([OrderID]) NOT IN (1,2)
    Thử thách:
    Hãy cho biết những khách hàng đến từ quốc gia bắt đầu bằng chữ 'B'

  • @lngye1505
    @lngye1505 9 місяців тому

    Ngày 15/03/2024
    Em cảm ơn thầy ạ.
    Sau đây là phần bài tập:
    --Bài 8: Hãy cho biết những thành phố nào có
    --số lượng đơn hàng được giao khác 1 và 2
    --Ngày đặt hàng từ ngày '1997-04-01' đến '1997-08-31'.
    select ShipCountry, count(*) as "TotalOrders"
    from Orders
    where OrderDate between '1997-04-01' and '1997-08-31'
    group by ShipCountry
    having count(*) > 2
    order by "TotalOrders" desc;

  • @quangthainguyen9619
    @quangthainguyen9619 11 місяців тому

    em góp bài 8: select ShipCity, count(orderid)
    from orders
    where ShippedDate between '1997-04-01' and '1997-08-31'
    group by shipcity
    having count(orderid) != 1 and count(orderid) != 2

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

    BT8 :
    select [ShipCity],count([OrderID]) as [NumberOfOrders]
    from [dbo].[Orders]
    where [OrderDate] between '1997-04-01' and '1997-08-31' and [ShippedDate] is not null
    group by [ShipCity]
    having count([OrderID]) not in (1,2)

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

    Thầy ơi, bài tập 5 do đề bài không nêu rõ nên có thể hiểu đề bài và làm theo 2 cách sau
    Cách 1: hiểu đơn thuần là trong danh sách khách hàng, có những nước nào có số lượng khách lớn 7
    select Country,
    count(CustomerID) as ttlcus
    from Customers
    group by Country
    having count(CustomerID) > 7;
    Cách 2: hiểu là trong những đơn hàng mà khách hàng đặt, có những quốc gia nào có số lượng khách hàng lớn hơn 7
    select ShipCountry as Country,
    count (distinct CustomerID) as ttl cus
    from Orders
    group by ShipCountry
    having count (distinct CustomerID) > 7;

  • @quocbaonguyen0000
    @quocbaonguyen0000 5 місяців тому

    Bài tập 8:
    select [ShipCity],count(*) as SL from [dbo].[Orders]
    where [OrderDate] between '1997-4-1' and '1997-8-31'
    group by [ShipCity]
    having count(*) not in (0,1)

  • @duytuancntt10
    @duytuancntt10 9 місяців тому

    --Bài tập 5: Hãy cho biết những quốc gia nào có nhiều hơn 7 khách hàng
    (Mình dùng bảng khách hàng để tìm những quốc gia có số khách hàng >7 là dc )
    SELECT "Country",
    COUNT ("CustomerID") AS "Số khách hàng"
    FROM "Customers"
    GROUP BY "Country"
    HAVING COUNT ("CustomerID")> '7';

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

    nhờ cái lag của thầy mà học được thêm nhiều thứ kk

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

    select ShipCity,count(ShippedDate) as "tổng đơn hàng"
    from Orders
    where OrderDate between '1997-04-01'and '1997-08-31'
    group by ShipCity
    having not count(ShippedDate) = 1 and not count(ShippedDate) = 2
    order by count(ShippedDate)

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

    Select ShipCity, COUNT (ShippedDate) as "Tổng đơn hàng"

    From Orders
    Where OrderDate between '1997-04-01' and '1997-08-31'
    Group by ShipCity
    Having not COUNT (ShippedDate) between 1 and 2

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

    -- Giải bài 8
    SELECT [ShipCity] , COUNT ([ShippedDate]) AS "số ĐƠN đã giao "
    FROM [dbo].[Orders]
    WHERE [OrderDate] between '1997-04-01' and '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT ([ShippedDate]) 1 and COUNT ([ShippedDate]) 2
    ORDER BY [ShipCity] ASC;

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

    anh ơi ở BT số 5 thì mình có thể dùng bảng Customer để giải bài này mà anh.
    SElECT[Country], COUNT([CustomerID]) AS[Số khách hàng]
    FROM [dbo].[Customers]
    GROUP BY [Country]
    HAVING COUNT([CustomerID])>7
    Giả BT 8:
    --BT8: Hãy cho biết những thành phố nào có số lượng đơn hàng được giao là khác 1 và 2
    --Ngày đặt hàng từ '1997-04-01' đến '1997-08-31'
    SELECT[ShipCity],COUNT(*) AS[Số lượng đơn hàng]
    FROM[dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING NOT COUNT(*) BETWEEN 1 AND 2;

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

    select ShipCity,COUNT(OrderID) as 'so luong don hang duoc giao'
    from Orders
    where ShippedDate is not null and OrderDate between '1997-04-01' and '1997-08-31'
    group by ShipCity
    having COUNT(OrderID) not in (1,2)

  • @tuoinguyen-tv2xf
    @tuoinguyen-tv2xf 2 місяці тому

    select shipping_address, count(id)
    from order
    where created_at between '1997-04-01' and '1997-08-31'
    group by shipping_address
    having count(id) != '1' and count(id) != '2'

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

    select distinct Orr.ShipCountry,
    Count(Orr.CustomerID)as[so khach hang]
    from [Orders]as Orr
    group by Orr.ShipCountry
    having Count(Orr.CustomerID)>= 7;

  • @trantuanlinh4072
    @trantuanlinh4072 6 місяців тому

    select [ShipCity], count(*) as [số lượng đơn hàng]
    from [dbo].[Orders]
    where [ShippedDate] between '1997-04-01'and'1997-08-31'
    group by [ShipCity]
    having count(*) !=1 and count(*) !=2;

  • @rabbittanksuperbestmatch4259
    @rabbittanksuperbestmatch4259 7 місяців тому

    -- Bài tập 8
    SELECT ShipCity, COUNT(OrderID) AS [Total Orders]
    FROM Orders
    WHERE ShippedDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(OrderID) != 1 AND COUNT(OrderID) != 2;

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

    --BÀI TẬP 8: HÃY CHO BIẾT NHỮNG THÀNH PHỐ NÀO CÓ SỐ LƯỢNG ĐƠN
    --HÀNG ĐƯỢC ĐƯỢC GIAO LÀ KHÁC 1 VÀ 2, NGÀY ĐẶT HÀNG TỪ
    --NGÀY '1997-04-01' ĐẾN '1997-08-31'
    SELECT [ShipCity], COUNT(*) AS [COUNT]
    FROM [dbo].[Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    --HAVING NOT COUNT(*) BETWEEN 1 AND 2
    HAVING COUNT(*) NOT IN (1,2)

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

    bài 8: SELECT [ShipCity], COUNT(*) AS [totalOrder]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01'
    AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*) != 1 AND COUNT(*) != 2;

  • @shidumdum
    @shidumdum 8 місяців тому

    em cam on thay
    bai 8
    select o.ShipCity, count(o.OrderID) as "so luong don hnag"
    from Orders as o
    where o.OrderDate between '1997-04-01' and '1997-08-31'
    group by o.ShipCity
    having count(o.OrderID) 1 and count(o.OrderID) 2

  • @nguyenlesonghuong4280
    @nguyenlesonghuong4280 8 місяців тому

    Em gửi đáp án bài tập 8 ạ:
    SELECT ShipCity, COUNT(*)
    From Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) >= 3

  • @TrungLe-ty1nd
    @TrungLe-ty1nd Рік тому +2

    BT5 em áp dụng distinct + count để giải ạ
    SELECT COUNT (DISTINCT (O.CustomerID)) AS "SO KHACH HANG",
    O.ShipCountry
    FROM Orders AS O
    GROUP BY O.ShipCountry
    HAVING COUNT(O.CustomerID) > 7

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

    Bài tập số 5 mình dùng bảng customer sẽ giải quyết được mà
    SELECT [Country], COUNT ([CustomerID]) AS [TOTALCUS]
    FROM [dbo].[Customers]
    GROUP BY [Country]
    HAVING COUNT ([CustomerID]) > 7

  • @phong.truong
    @phong.truong Рік тому

    Em cảm ơn bài tập ôn tập của anh ạ
    BT8:
    SELECT ShipCity, COUNT(ShippedDate) AS [TotalOrders]
    FROM dbo.Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(ShippedDate) NOT LIKE '[1,2]';

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

    select ShipCity,COUNT(OrderID) [totalorder] from orders as o
    where OrderDate between '1997-04-1' and '1997-8-31'
    group by ShipCity
    having COUNT(OrderID) != 1 and COUNT(OrderID) != 2
    em cảm ơn anh ạ

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

    bài 8
    SELECT ShipCity,
    COUNT (ORDERID) AS TTLORDER
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-07-31'
    GROUP BY ShipCity
    HAVING COUNT (ORDERID) NOT IN (1,2)

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

    select Orr.ShippedDate,
    Day(Orr.ShippedDate) as [Ngay giao hang],
    Count(Orr.OrderID)as[so don hang duoc giao >=5]
    from [Orders] as Orr
    group by Orr.ShippedDate
    having Count(Orr.OrderID)>= 5
    order by Day(Orr.ShippedDate)ASC;

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

    select Orr.ShipCity,
    Count(Orr.OrderID)as 'So don hang'
    from [Orders]as Orr
    where Orr.OrderDate between '1997-04-01'and'1997-08-31'
    group by Orr.ShipCity
    having not(Count(Orr.OrderID)= 2) ;

  • @GấmLêThịHồng-y7d
    @GấmLêThịHồng-y7d 7 місяців тому

    -- BAI TAP 08: Hay cho biet nhung TP nao co so luong Don hang duoc giao la khac 1 va 2;
    -- Ngay dat hang tu ngay '1997-04-01' den ngay '1997-08-31';
    -- CACH 01: 21 ROWS
    SELECT [ShipCity], COUNT([OrderID]) AS [Total Orders]
    FROM dbo.Orders
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID])!=1 AND COUNT([OrderID])!=2
    ORDER BY COUNT([OrderID]) ASC;
    --CACH 02:21 ROWS
    SELECT [ShipCity], COUNT(*) AS [Total Orders]
    FROM dbo.Orders
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*)>2
    ORDER BY COUNT(*) ASC;
    -- CACH 3: 21 ROWS
    SELECT [ShipCity], COUNT(*) AS [Total Orders]
    FROM dbo.Orders
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*) NOT IN (1,2)
    ORDER BY COUNT(*) ASC;
    😄😄 Em cảm ơn thầy nhiều ạ.

  • @anghuy3509
    @anghuy3509 11 місяців тому

    -- Bài Tập 8: Hãy cho biết những thành phố nào có số lượng đơn hàng được giao khác 1 và 2, ngày đặt hàng từ ngày '1997-04-01' đến ngày '1997-08-31'
    SELECT [ShipCity], COUNT([OrderID]) AS [Total_Orders_of_City]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) NOT IN (1,2);
    DẠ em cảm ơn anh ạ!

  • @charathip223
    @charathip223 8 місяців тому

    Em gửi bài tập ạ:
    SELECT[ShipCity],COUNT([OrderID]) AS "SO DON DAT"
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) NOT IN (1,2);

  • @NQTSTUDY-nl6fh
    @NQTSTUDY-nl6fh Рік тому

    --và ngày đặt hàng từ 1997-04-01 đến ngày 1997-08-31
    SELECT ShipCity, count(OrderID) as"Sl đơn hàng"
    FROM Orders
    WHERE OrderDate between '1997-04-01' and '1997-08-31'
    GROUP BY ShipCity
    HAVING count(OrderID) Not in (1,2)

  • @HuyenLe-rw2vs
    @HuyenLe-rw2vs 2 місяці тому

    @TITV thầy ơi cho e hỏi ở bài tập 5 tại sao mình không sử dụng bảng dữ liệu Customer ạ
    --(5) Cac quoc gia co nhieu hon 7 KH
    SELECT [Country],count (*) AS "TONG KHACH"
    FROM [dbo].[Customers]
    GROUP BY [Country]
    HAVING count (*)>7

  • @MiGia-s9w
    @MiGia-s9w 9 місяців тому +2

    Cho em hỏi tại sao bài tập hai có số sản phẩm khác nhau mình lại không cần dùng câu lệnh SELECT DISTINCT ạ

    • @haicot-vf6ql
      @haicot-vf6ql 2 місяці тому

      mỗi sản phẩm khác nhau được điền dữ liêu là một hàng rồi nên chỉ cần dùng COUNT để đếm số hàng thôi. DISTINCT là câu lệnh đưa ra những phần tử khác nhau có trong cột nhưng nó có trùng nhau ấy ạ.

  • @Lee-sr3os
    @Lee-sr3os Місяць тому

    select ShipCity, COUNT (*) as [so luong don hang]
    from[dbo].[Orders]
    where ShippedDate between '1997-04-01' and '1997-08-31'
    group by ShipCity
    having count(*) 1 and count(*) 2;

  • @kentry2439
    @kentry2439 3 місяці тому

    Em giải BT 8
    SELECT [ShipCity], COUNT([ShippedDate]) as [TotalOrder]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' and '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([ShippedDate]) > 2 OR COUNT([OrderID]) < 1
    Order by COUNT([ShippedDate]) DESC;

  • @luongquangvu3214
    @luongquangvu3214 11 місяців тому

    anh cho em hỏi là khi nào dùng count(*) và khi nào dùng count( tên cột ) vậy ạ
    em cảm ơn

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

    BT 8:
    SELECT ShipCity as 'Tên thành phố', COUNT(OrderID) as 'Số lượng đơn hàng'
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) 1 AND COUNT(*) 2
    go

  • @ThanhTrungoan-ml3is
    @ThanhTrungoan-ml3is 9 місяців тому

    Ở phần bài tập 3 hỏi số sản phẩm khác nhau thì phải dùng count (distinct( ProductID)) mới đúng chứ anh

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

    Bài 5 thầy phải lấy từ table "Customers"

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

    em xin giải bài tập:
    SELECT ShipCity, COUNT(ShippedDate) AS Shipped
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING NOT( COUNT(ShippedDate) =1) AND NOT(COUNT(ShippedDate) =2) ;
    Em xin cảm ơn thầy!

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

    --BT8: hãy cho biết những thành phố nào có số lượng đơn hàng được giao là khác 1 và 2,
    --ngày đặt hàng '1997-04-01' đến ngày'1997-08-31'
    select [ShipCity], count([ShippedDate]) as [TotalOrdes]
    from [dbo].[Orders]
    where [OrderDate] between '1997-04-01' and '1997-08-31'
    group by [ShipCity]
    having count([ShippedDate]) not in(1,2);
    -> kết quả 21 rows

  • @20-luongvanthuong96
    @20-luongvanthuong96 2 місяці тому

    select ShipCity, count(*) [Tong don hang]
    from Orders
    where OrderDate between '1997-04-01' and '1997-08-31' and ShippedDate between '1997-04-01' and '1997-08-31'
    group by ShipCity
    having count(*) not in (1,2)
    order by count(*) DESC
    Mình có hướng như này không biết có đúng không mong mọi người góp ý.

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

    select [ShipCity], count(*) as [so luong don hang]
    from [dbo].[Orders]
    where [OrderDate] between '1997-04-01' and '1997-08-31'
    group by [ShipCity]
    having count(*) not in (1,2)
    order by count(*) asc

  • @huonggiangnguyenkhanh6254
    @huonggiangnguyenkhanh6254 6 місяців тому

    Thank thầy, bài học rất dễ hiểu ạ. Nhưng e vẫn thắc mắc bài 5 và 6 sao không sử dụng được CustomerID ạ @@

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

    BT08:
    Select [ShipCity], Count(*),
    From [dbo].[Orders]
    Where [OrderDate] Between '1997-04-01' and '1007-08-31'
    Group by [ShipCity]
    Having Count(*) 1 And Count(*) 2

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

      >=3 là ok mà ta, nhưng sao OrderDate không select vậy ta

  • @HhHh-hj5lj
    @HhHh-hj5lj 3 місяці тому

    btap 8: SELECT [ShipCity], COUNT([OrderID]) AS [SLDonHang], [OrderDate] FROM [Orders] WHERE [OrderDate] BETWEEN'1997-04-01' AND '1997-08-31' GROUP BY [ShipCity], [OrderDate] HAVING COUNT([OrderID]) NOT IN(1,2)

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

    use [NORTHWND]
    select [ShipCity], COUNT([OrderID]) as "Total Orders"
    from [dbo].[Orders]
    where [OrderDate] between '1997-04-01' and '1997-08-31'
    group by [ShipCity]
    having COUNT([OrderID]) != 1 and COUNT([OrderID]) != 2

  • @KhảiNguyễn-u2m
    @KhảiNguyễn-u2m 3 місяці тому +1

    --Hãy cho biết những thnahf phố anof có SL đơn hàng đucợ giao là khác 1 và 2, ngày đặt hàng từ '1997-04-01' đến ngày '1997-08-31'.
    SELECT [ShipCountry], COUNT([OrderID]) "SL đơn hàng"
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCountry]
    HAVING COUNT([OrderID]) NOT IN (1,2);

  • @quyetmanh4738
    @quyetmanh4738 7 місяців тому

    -- 8. Hay cho biet nhung thanh pho nao co so luong don hang duoc giao
    -- la khac 1 va 2, ngay dat hang tu ngay '1997-04-01' den ngay '1997-08-31'
    SELECT
    o.ShipCity,
    COUNT(o.OrderID) AS [Total of orders]
    FROM Orders AS o
    WHERE o.OrderDate
    BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY o.ShipCity
    HAVING COUNT(o.OrderID) NOT IN (1,2);

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

    --bt8:
    --cho biết những tp nào có sl đơn hàng đc giao
    --khác 1 và 2
    --ngày đặt hàng từ '1997-04-01' -> '1997-08-31'
    SELECT [ShipCountry], count(*) as [số lượng đơn hàng]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' and '1997-08-31'
    GROUP BY [ShipCountry]
    HAVING count(*) != 1 and count(*) !=2;

  • @readyforwar2557
    @readyforwar2557 11 місяців тому

    BT 8:
    SELECT o.ShipCity, COUNT(o.OrderID) AS [Total Orders]
    FROM Orders AS o
    WHERE o.OrderDate BETWEEN '1997-4-1' AND '1997-8-31'
    GROUP BY o.ShipCity
    HAVING COUNT(o.OrderID) NOT IN (1, 2)

  • @LaiThe-l7h
    @LaiThe-l7h Рік тому

    BT:
    SELECT ShipCity,
    COUNT(*) AS TOTALORTHER
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) NOT IN (1,2);

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

    -- Hãy cho biết những thành phố nào có số lượng đơn hàng được giao là khác 1 và 2,
    -- ngày đặt hàng từ ngày '1997-04-01' đến ngày '1997-08-31'
    SELECT ShipCity, COUNT(*) AS [TotalOrders]
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31' AND ShippedDate IS NOT NULL
    GROUP BY ShipCity
    HAVING COUNT(*) NOT IN (1,2)

  • @okhongsaingu8292
    @okhongsaingu8292 11 місяців тому

    cẢM ƠN ANH
    --BT8
    SELECT ShipCity, COUNT(OrderID) AS "SL"
    FROM Orders
    WHERE ShippedDate>='1997-04-01' AND ShippedDate

  • @manhtran7843
    @manhtran7843 3 місяці тому

    Select ShipCity, count(ShippedDate) as [Số lượng đơn hàng]
    from Orders
    where OrderDate between '1997-04-01' and '1997-08-31'
    group by ShipCity
    having count(ShippedDate) not in (1,2)
    thầy sửa sai giúp em với ạ

  • @vietnguyen8653
    @vietnguyen8653 7 місяців тому

    Bài số 5: Quốc gia có nhiều hơn 7 khách hàng thì e nghĩ là ntnay ạ!
    Select ShipCountry, COUNT(Distinct CustomerID) as TotalCus
    From Orders
    Group By ShipCountry
    Having COUNT(Distinct CustomerID) > 7;

    • @vietnguyen8653
      @vietnguyen8653 7 місяців тому

      Bài 8.
      Select ShipCity, COUNT(OrderID) as TotalOrders
      From Orders
      Where OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
      Group By ShipCity
      Having COUNT(OrderID) > 2;
      SELECT ShipCity, COUNT(OrderID) AS TotalOrders
      FROM Orders
      WHERE OrderDate >= '1997-04-01' AND OrderDate

  • @Motchutyeudoi
    @Motchutyeudoi 4 місяці тому

    Thầy ơi bài 3 nếu không sửa đề thì em
    group by [shipcountry], [cútomerid]
    Vẫn ra kết quả nhưng không biết có đúng không ạ?

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

    -- Cho biet nhung thanh pho nao co so luong don hang duoc giao la khac 1 va 2, ngay dat hang tu ngay 1997-04-01 den ngay 1997-08-31
    -- Cach 1:
    SELECT [ShipCity], count(*) AS "TotalOrders"
    FROM [Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING count (*) NOT IN ('1','2');
    -- Cach 2
    SELECT [ShipCity], count(*) AS "TotalOrders"
    FROM [Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING count (*) LIKE '[^1,2]';

  • @NGuyenDuong-sk8yf
    @NGuyenDuong-sk8yf 7 місяців тому

    SELECT ShipCity, COUNT(OrderID) as [Don hang]
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(OrderID) NOT IN (1,2) ;

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

    Trong bài tập cuối thì em thấy có 1 số ô ở cột ShipDate có giá trị NULL, như vậy nếu đề bài yêu cầu tính các đơn đã được giao thì có phải mình sẽ cần loại bỏ việc đếm các ô NULL phải ko ạ. Mong được thầy và các bạn giải đáp thắc mắc

    • @tienminh-z2f
      @tienminh-z2f Рік тому

      select shipcity, count(*) as quantityOfOrder
      from orders
      where shippeddate is not null and orderdate between '1997-04-01' and '1997-08-31'
      group by shipcity
      having count(*) not in (1,2)
      -- mình làm như này nhé bạn, cần loại bỏ đi giá trị shipdate là null

  • @Mon93-tt
    @Mon93-tt 10 місяців тому

    giải bài tập 8 mình thấy cách mọi người làm khá khác nhau mong là mik không sai
    select ShipCity,count(OrderID)'số lượng đơn hàng'
    from Orders
    where OrderDate between '1997-4-1' and '1997-08-31'
    group by ShipCity
    having count(ShippedDate) >2

    • @charathip223
      @charathip223 8 місяців тому

      cách làm bạn giống mình nhg mk thấy dòng cuối nên để là HAVING COUNT([OrderID]) NOT IN (1,2); hợp lý hơn vì theo đề bài khác 1 và 2 thì 0 vẫn đc

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

    SELECT ShipCity, count(OrderID) AS totalOrders
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING count(OrderID) NOT IN (1,2)

  • @MinhNguyen-g6z7z
    @MinhNguyen-g6z7z Рік тому

    BT 8:
    SELECT[ShipCountry],COUNT([ShippedDate]) AS [SL]
    FROM[dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCountry]
    HAVING NOT COUNT([ShippedDate]) BETWEEN 1 AND 2;
    SELECT[ShipCountry],COUNT([ShippedDate]) AS [SL]
    FROM[dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCountry]
    HAVING COUNT([ShippedDate])NOT IN (1,2);

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

    Select shipcity, cout(shippeddate)
    FROM ORDERS
    WHERE ODERDATE BETWEN '1997-04-01' AND '1997-08-31'
    GROUP BY SHIPCITY
    HAVING COUT( SHIPPEDDATE) NOT BETWEEN 1 AND 2

  • @aoe-ct4480
    @aoe-ct4480 Рік тому

    BT 8 có vẻ đánh bẫy ah thầy? Hàng đã giao khác 1 và 2 thì hỏi thành hàng đã giao > 2 có lẽ là đỡ rối hơn chứ nhỉ
    SELECT
    [ShipCity] AS "Thành phố",
    COUNT(*) AS "Số đơn hàng đã giao"
    FROM[dbo].[Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-1' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*)> 2
    ORDER BY COUNT([OrderID]) DESC

  • @LinhDang-x3v
    @LinhDang-x3v Рік тому

    dạ cái đề "hãy cho biết quốc gia nào có nhiều hơn 7 khách hàng", em không dùng kiến thức JOIN và em làm như vậy đúng không ạ?
    SELECT [ShipCountry], COUNT(distinct [CustomerID]) AS [NUMBER OF CUSTOMERS]
    FROM [dbo].[Orders]
    GROUP BY [ShipCountry]
    HAVING COUNT(distinct [CustomerID]) > 7
    ORDER BY COUNT([OrderID])

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

    SELECT ShipCity, COUNT(ShippedDate) AS "SL DON DUOC GIAO"
    FROM Orders
    WHERE OrderDate BETWEEN ('1997-04-01') AND ('1997-08-31')
    GROUP BY ShipCity
    HAVING COUNT(ShippedDate) NOT IN(1,2);

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

    Cảm ơn Thầy!
    Bài Tập 8:
    -- Hãy cho biết những thành phố nào có số lượng đơn hàng được giao khác 1 và 2
    -- Ngày đặt ngày từ ngày 1997-04-01 ---1997-08-31
    SELECT O.ShipCity, COUNT(*) AS TotalOrder
    FROM dbo.Orders AS O
    WHERE ShippedDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) >2
    ORDER BY TotalOrder DESC

    • @thinhuck9048
      @thinhuck9048 11 місяців тому +2

      where orderdate moi dung

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

    -- HÃY CHO BIẾT NHỮNG THỂ LOẠI NÀO (CATEGORYID) CÓ SỐ SẢN PHẨM KHÁCH NHAU LỚN HƠN 11
    SELECT [CategoryID],
    COUNT(DISTINCT [ProductID]) AS [SỐ SẢN PHẨM KHÁC NHAU]
    FROM [dbo].[Products]
    GROUP BY [CategoryID]
    HAVING COUNT (DISTINCT [ProductID]) > 11;

  • @aoe-ct4480
    @aoe-ct4480 Рік тому

    Bài Tập 4 thầy có vẻ bị nhầm, đề bài hỏi Thể loại sản phẩm mà có tổng sản phẩm có trong kho > 350
    SELECT
    [CategoryID] AS "Mã thể loại SP",
    SUM([UnitsInStock]) AS "Tổng Số SP trong kho"
    FROM[dbo].[Products]
    GROUP BY [CategoryID]
    HAVING SUM([UnitsInStock])> 350
    ORDER BY SUM([UnitsInStock]) DESC

    • @aoe-ct4480
      @aoe-ct4480 Рік тому

      Sorry thầy , chưa xem đến đoạn thầy sửa. Mình có thói quen xem đề rồi tự giải, sau đó mới so sánh đáp án

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

    Select [ShipCity], count([OrderID]) TotalOrder
    From[dbo].[Orders]
    Where [OrderDate] between '1997-04-01' and '1997-08-31'
    Group by [ShipCity]
    Having count([OrderID]) != 1 and count([OrderID]) !=2
    Order by count([OrderID]) asc;

  • @NhiNguyen-gy5so
    @NhiNguyen-gy5so Рік тому

    Bài tập 5:
    select [Country], count([CustomerID]) as[KH each country]
    from [dbo].[Customers]
    Group by Country
    having count(CustomerID)>7;
    BT 8:
    select[ShipCity], count([ShippedDate]) as totalorder
    from [dbo].[Orders]
    where [OrderDate] between '1997-04-01' and '1997-08-31'
    group by [ShipCity]
    having count([ShippedDate]) 1 and count([ShippedDate])2;

  • @sonpham3454
    @sonpham3454 3 дні тому +1

    SELECT[ShipCity], DAY([ShippedDate]),*
    FROM[dbo].[Orders]
    WHERE DAY([ShippedDate])'1' AND DAY([ShippedDate])'2'AND [OrderDate] BETWEEN '1997-04-01'AND '1997-08-31'
    ORDER BY DAY([ShippedDate])

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

    Bài này thầy hơi lắc nhẹ :)))

  • @phucnguyennguyen-yq4hn
    @phucnguyennguyen-yq4hn Рік тому

    Em gửi câu trả lời
    SELECT ShipCountry, Count (*) as TotalOrders
    FROM DBO.Orders
    WHERE ShippedDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCountry
    HAVING Count (*)>2
    (17 rows affected)

  • @quocquyenluong8960
    @quocquyenluong8960 18 днів тому

    SELECT [CustomerID], COUNT([OrderID]) As TotalOrders
    FROM Orders
    GROUP BY [CustomerID]
    HAVING COUNT([OrderID])>20
    GROUP BY COUNT([OrderID]) DESC;

  • @T1Con-ci5uw
    @T1Con-ci5uw 2 місяці тому

    -- Bài tập 8:
    SELECT ShipCity,
    COUNT(OrderID) AS [Total Orders]
    FROM dbo.Orders
    WHERE (OrderDate BETWEEN '1997-04-01' AND '1997-08-31')
    AND ShippedDate IS NOT NULL
    GROUP BY ShipCity
    HAVING NOT (COUNT(OrderID) = 1 OR COUNT(OrderID) = 2);

  • @hoanglong-m2q
    @hoanglong-m2q Рік тому +1

    BT8:
    SELECT [ShipCity], COUNT([OrderID]) AS [TotalOrders],
    MONTH([OrderDate]) as [Month],
    YEAR([OrderDate]) AS [Year]
    FROM [dbo].[Orders]
    WHERE [ShippedDate] IS NOT NULL AND [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity], MONTH([OrderDate]), YEAR([OrderDate])
    HAVING COUNT([OrderID])>2 ;

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

    VD8:
    SELECT [ShipCity], COUNT([ShippedDate]) as [TotalOrder]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([ShippedDate]) NOT IN (1, 2)

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

    -- BT8: Häy cho biết những thành phố nào có số lượng đơn hàng được giao là khác 1 và 2, ngày đặt giao hàng từ ngày 1997-04-01 đến ngày 1997-08-31.
    SELECT ShipCity, COUNT(ShippedDate) AS [Số đơn hàng được giao]
    FROM dbo.Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(ShippedDate) NOT IN (1,2)
    --C2: HAVING COUNT(ShippedDate) 1 AND COUNT(ShippedDate) 2
    --C3: HAVING NOT COUNT (ShippedDate) BETWEEN 1 AND 2
    ==> 21 dòng
    cám ơn anh :)

  • @giapnguyen4109
    @giapnguyen4109 6 місяців тому

    Select o.ShipCity, COUNT(*) as[TotalOrder]
    From Orders as o
    Where o.OrderDate between '1997-04-01' and '1997-08-31'
    Group by o.ShipCity
    Having COUNT(*) > =3

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

    BT8
    SELECT [ShipCity], COUNT(*) AS "Số lượng đơn hàng"
    FROM Orders
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*) 1 AND COUNT(*) 2;

  • @quocquyenluong8960
    @quocquyenluong8960 18 днів тому

    SELECT [EmployeeID], COUNT([OrderID]) As TotalOrders
    FROM Orders
    GROUP BY [EmployeeID]
    HAVING COUNT([OrderID])>=100
    GROUP BY COUNT([OrderID]) DESC;

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

    SELECT ShipCity, COUNT(*) AS NumberOfOrders
    FROM Orders
    WHERE OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY ShipCity
    HAVING COUNT(*) NOT IN (1,2);
    => 21 dòng

  • @nguyenxuanbach2672
    @nguyenxuanbach2672 4 місяці тому

    Date: 2024, Aug eleventh
    SELECT [ShipCity], COUNT([OrderID]) AS [TotalOrders]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) NOT IN (1,2)
    --> 21 results
    Author: Bach Nguyen

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

    SELECT [ShipCity] , COUNT (*) AS [TongDonHang]
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT (*) NOT IN(1,2)

  • @thanggg4946
    @thanggg4946 9 місяців тому

    --BTVN Hãy cho biết những thành phố nào có số lượng đơn hàng được giao khác 1 và 2
    --ngày đặt hàng từ '1997-04-01' đến '1997-08-31'
    SELECT [ShipCity], COUNT([OrderID]) AS TotalOrder
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) 1 AND COUNT([OrderID]) 2
    --ORDER BY COUNT([OrderID]) DESC;

  • @TienTran-ru9uq
    @TienTran-ru9uq 8 місяців тому

    SELECT [ShipCity], COUNT(*) AS "So don hang"
    FROM [dbo].[Orders]
    WHERE [OrderDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT(*)2
    ORDER BY COUNT(*) ASC;

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

    SELECT [ShipCity], COUNT([OrderID])AS [TotalOrder]
    FROM [dbo].[Orders]
    WHERE [ShippedDate] BETWEEN '1997-04-01' AND '1997-08-31'
    GROUP BY [ShipCity]
    HAVING COUNT([OrderID]) !=1 AND COUNT([OrderID]) !=2;