Tìm ID trùng nhau trong SQL
SELECT TOP(1) BRPOSItemID FROM Fact_OrderDetail
GROUP BY BRPOSItemID
HAVING COUNT(BRPOSItemID) >1
Giải thích: Với BRPOSItemID là khóa chính của bảng dữ liệu, duy nhất và không lặp lại
Sử dụng Pivot để đếm các trạng thái BILL
Select BRPOSStoreName as IDStore,[E-Wallet],[Sample],[Credit],[Cancel],[Cash],[Gift]
From
(select T2.BRPOSStoreName, BRPmtDetailType,BRPOSNo
from BJFactSample as T1
Left join BJStoreName as T2 on T2.BRPOSStoreID = T1.FK_BRPOSStoreID
where YEAR(BRPOSDate) =2023 and Month(BRPOSDate) =10) P
PIVOT (
COUNT (BRPOSNo) FOR BRPmtDetailType IN
([E-Wallet],[Sample],[Credit],[Cancel],[Cash],[Gift])
) AS PVT
-- Muốn đếm số Bill trong 1 khoản tiền, bài này có thể áp dụng đếm số ngày công nợ quá hạn
--Count các số bill có số tiền lớn hơn:
50 K<Bill < 100K
100 K<Bill < 150K
Sử dụng Pivot trong bài này, ngoài ra cũng có thể sử dụng count kết hợp group by cũng được. đang sẵn viết câu Pivot trên nên ví dụ này biết pivot luôn
Select CuaHang, T50,T100,T120 from
(select BRPOSStoreName as CuaHang, SumofTotalAPIAus,
(Case
when (SumofTotalAPIAus <100000 and SumofTotalAPIAus >=50000) then 'T50'
when (SumofTotalAPIAus <150000 and SumofTotalAPIAus >=100000) then 'T100'
else 'T120' end )as tien
from Fact_OrderSumary
where YEAR(BRPOSDate)=2023) p
pivot
(
count(SumofTotalAPIAus) for tien in (T50,T100,T120)
)as PVT
Kiểm tra lịch sử câu lệnh đã truy vấn trong SQL server
SELECT top(10) Txt.query_text_id, Txt.query_sql_text, Pl.plan_id, Qry.*
FROM sys.query_store_plan AS Pl
INNER JOIN sys.query_store_query AS Qry
ON Pl.query_id = Qry.query_id
INNER JOIN sys.query_store_query_text AS Txt
ON Qry.query_text_id = Txt.query_text_id
order by initial_compile_start_time DESC
No comments:
Post a Comment