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 .
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
--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 ạ
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 ạ!
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
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 ;
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.
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'
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!
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;
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;
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
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 ạ.
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)
--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);
@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
-- Trong câu bài tập: Lấy ra những quốc gia có nhiều hơn 7 khách hàng -- Ban đầu, nếu làm theo cách này: select distinct ShipCountry, CustomerID from Orders order by ShipCountry, CustomerID -- Có thể xem được số lượng khách hàng của từng quốc gia (Argentina có 3 khách hàng) -- Nhưng nếu thêm group by vào để tính tổng số khách hàng theo quốc gia, thì distinct lại không có tác dụng: select distinct ShipCountry, count(CustomerID) as totalCustomer from Orders group by ShipCountry -- Nên phải tính số lượng khách hàng ở bảng Customers mới được: select Country, COUNT(CustomerID) as totalCustomer from Customers group by Country having COUNT(CustomerID) > 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 ạ.
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)
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)
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)
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
-- 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);
--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';
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;
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 ạ
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])
-- 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 ạ!
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
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
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
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;
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
-- 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;
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 ạ
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]';
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
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'
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
--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
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);
--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;
--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)
-- 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;
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) ;
-- 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]';
Bài 8: SELECT O.ShipCity, COUNT(O.ShippedDate) AS [TOTAL SHIPPED] FROM ORDERS AS O WHERE O.OrderDate BETWEEN '1997-04-01' AND '1997-08-31' GROUP BY O.ShipCity HAVING COUNT(*) 1 AND COUNT(*) 2
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
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;
-- 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)
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!
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;
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
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)
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;
--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)
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
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 ý.
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)
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;
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
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;
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
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);
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)
-- 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;
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
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)
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) ;
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
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);
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);
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;
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;
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)
-- 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 :)
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
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
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)
-- 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);
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
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 ;
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;
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])
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
--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;
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
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)
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
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 .
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
--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 ạ
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 ạ!
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
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 ;
phần having mình có thể để là COUNT([OrderID]) >=3 cho ngắn bạn ạ
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.
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'
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!
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;
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;
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
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 ạ
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 ạ.
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)
--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);
Ở 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
nhờ cái lag của thầy mà học được thêm nhiều thứ kk
@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
-- Trong câu bài tập: Lấy ra những quốc gia có nhiều hơn 7 khách hàng
-- Ban đầu, nếu làm theo cách này:
select distinct ShipCountry, CustomerID
from Orders
order by ShipCountry, CustomerID
-- Có thể xem được số lượng khách hàng của từng quốc gia (Argentina có 3 khách hàng)
-- Nhưng nếu thêm group by vào để tính tổng số khách hàng theo quốc gia, thì distinct lại không có tác dụng:
select distinct ShipCountry, count(CustomerID) as totalCustomer
from Orders
group by ShipCountry
-- Nên phải tính số lượng khách hàng ở bảng Customers mới được:
select Country, COUNT(CustomerID) as totalCustomer
from Customers
group by Country
having COUNT(CustomerID) > 7
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
-- 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 ạ.
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 ạ @@
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)
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)
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)
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
-- 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);
--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';
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
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;
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 ạ
Bài 5 thầy phải lấy từ table "Customers"
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])
-- 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 ạ!
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
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
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
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;
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
-- 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;
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 ạ
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]';
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
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'
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 ạ?
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
select distinct Orr.ShipCountry,
Count(Orr.CustomerID)as[so khach hang]
from [Orders]as Orr
group by Orr.ShipCountry
having Count(Orr.CustomerID)>= 7;
--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
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);
--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;
--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)
-- 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;
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) ;
-- 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]';
Bài 8:
SELECT O.ShipCity, COUNT(O.ShippedDate) AS [TOTAL SHIPPED]
FROM ORDERS AS O
WHERE O.OrderDate BETWEEN '1997-04-01' AND '1997-08-31'
GROUP BY O.ShipCity
HAVING COUNT(*) 1 AND COUNT(*) 2
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
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;
-- 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)
câu 7 khách hàng ạ select ShipCountry, count(distinct CustomerID) from orders group by ShipCountry having count(distinct CustomerID) > '7'
select ShipCountry, count(orderID) from Orders where ShipCountry like '[a, g]%' group by ShipCountry having count(orderID) >= '29'
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!
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;
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
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
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)
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;
--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)
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
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 ý.
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)
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;
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
>=3 là ok mà ta, nhưng sao OrderDate không select vậy ta
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;
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
where orderdate moi dung
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);
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)
cẢM ƠN ANH
--BT8
SELECT ShipCity, COUNT(OrderID) AS "SL"
FROM Orders
WHERE ShippedDate>='1997-04-01' AND ShippedDate
-- 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;
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
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
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)
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) ;
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
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);
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);
Bài này thầy hơi lắc nhẹ :)))
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;
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;
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)
-- 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 :)
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
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
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)
SELECT [CustomerID], COUNT([OrderID]) As TotalOrders
FROM Orders
GROUP BY [CustomerID]
HAVING COUNT([OrderID])>20
GROUP BY COUNT([OrderID]) DESC;
-- 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);
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
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 ;
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;
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])
SELECT [EmployeeID], COUNT([OrderID]) As TotalOrders
FROM Orders
GROUP BY [EmployeeID]
HAVING COUNT([OrderID])>=100
GROUP BY COUNT([OrderID]) DESC;
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
--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;
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
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)