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 .
--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 ạ
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
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 ạ!
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.
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 ;
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
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!
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'
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;
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
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)
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;
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)
--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) = 1 and not count(ShippedDate) = 2 order by count(ShippedDate)
-- 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;
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(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)
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'
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;
-- 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;
--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 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;
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
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
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
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
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]';
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 ạ
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)
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;
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) ;
-- 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: 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 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);
--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)
@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
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 ạ.
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;
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;
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
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!
--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
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 ý.
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
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
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)
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
--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);
-- 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);
--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;
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)
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);
-- 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)
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 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
-- 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]';
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) ;
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
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
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)
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, 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
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
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])
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);
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
-- 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;
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
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;
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])
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)
-- 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);
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 ;
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)
-- 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 :)
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(*) 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, 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
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)
--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;
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;
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;
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 .
--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 ạ
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
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 ạ!
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.
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 ạ
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
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!
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'
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;
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
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)
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;
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)
--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';
nhờ cái lag của thầy mà học được thêm nhiều thứ kk
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 (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
-- 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;
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(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)
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'
select distinct Orr.ShipCountry,
Count(Orr.CustomerID)as[so khach hang]
from [Orders]as Orr
group by Orr.ShipCountry
having Count(Orr.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;
-- 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;
--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 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;
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
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
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
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
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]';
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 ạ
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)
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;
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) ;
-- 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: 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 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);
--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)
@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
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 ạ.
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;
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;
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
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
Ở 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
Bài 5 thầy phải lấy từ table "Customers"
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!
--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
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 ý.
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
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 ạ @@
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
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)
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
--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);
-- 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);
--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;
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)
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);
-- 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ẢM ƠN ANH
--BT8
SELECT ShipCity, COUNT(OrderID) AS "SL"
FROM Orders
WHERE ShippedDate>='1997-04-01' AND ShippedDate
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 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
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 ạ?
-- 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]';
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) ;
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
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
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)
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, 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
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
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])
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);
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
-- 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;
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
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;
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])
Bài này thầy hơi lắc nhẹ :)))
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)
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);
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 ;
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)
-- 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 :)
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(*) 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 [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
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)
--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;
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;
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;