Truy vấn lấy ra 2 bản ghi = nhau(chưa biết trước giá trị) trong sql
câu hỏi
lấy ra thông tin của khách hàng có số hóa đơn mua hàng nhiều nhất
trương hợp có >2 khách hàng có số hóa đơn mua lớn nhất = nhau
nếu sử dụng hàm max(sohoadon) thì chỉ lấy ra được 1 khách hàng
nếu
sử dụng top 1 thì cũng chỉ lấy ra được 1 người
nếu sử dụng top x, với x là số ng cần lấy ra, thì k thể biết trước số người có cùng giá trị max để đặt x = 1 số cụ thể
sử dụng top
USE KHACHHANG
GO
SELECT TOP 1 SHD.MAHD
FROM
(
SELECT CHITIETHOADON.MAHD, COUNT (CHITIETHOADON.MAHD) AS SOHOADON
FROM CHITIETHOADON
GROUP BY CHITIETHOADON.MAHD
) AS SHD
ORDER BY SOHOADON DESC
sử dụng max
USE KHACHHANG
GO
SELECT MAX(SOHOADON)
FROM
(
SELECT CHITIETHOADON.MAHD, COUNT (CHITIETHOADON.MAHD) AS SOHOADON
FROM CHITIETHOADON
GROUP BY CHITIETHOADON.MAHD
) AS SHD
thì phải làm sao nhỉ
vậy phải làm thế nào để lấy ra được 1 khác hàng có cùng giá trị sohoadon lớn nhất = nhau
xincamon
lược đồ quan hê
trương hợp trung nhau về số lượng hóa đơn ,đều là lớn nhất
Cho biết những khách hàng có số hóa đơn bằng với người có nhiều số hóa đơn nhất.
phải subquery thêm vài lớp rồi
bạn cho mình hỏi, để có được SOHOADON trong bảng trên mình đã subquery rồi mới tìm được
chứ k phài dữ liệu nhập vào như thế
giờ tìm ra các mã hóa đơn ở trong bảng CHITITETHOADON có SOHOADON đã mua = số của khách hàng cao nhất thì ntn nhỉ
bảng CHITIETHOADON
Giờ mình cần tìm MAHD sao đó MAHD đó có sô lượng hóa đơn đã mua = số của ng cao nhât
nhưng chỗ tìm ra số lượng hóa đơn đã mua = số max mình rối quá
tìm ra số lượng hoa đơn đã mua cao nhât
bây giờ đã có max, vậy làm sao để tim ra mã hd có số hóa đơn đã mua = max
với số hóa đơn đã mua của từng mã HD ở trong bảng sau
MÌNH LÀM ĐƯỢC RÒI, TKS BẠN