Chào mọi người ạ, em có bảng Query tìm ra được Ngày đến hạn rồi, nhưng đến lúc đặt công thức tìm Số kỳ trả nợ (SKTN) thì nếu làm 2 Query (1 Q3 làm: SELECT DISTINCT NgayTraLai FROM Q_STKDH; 1 Q4 làm: SELECT Count([NgayTraLai]) AS SKTN FROM Q3; ) thì nó tìm ra 2 kỳ trả nợ là đúng. Nhưng nếu em làm gộp công thức lại: SELECT DISTINCT Count([NgayTraLai]) AS SKTN FROM Q_STKDH; như trong Q2 thì nó lại ra 3 kỳ trả nợ. Vậy cho em hỏi em làm sai bước nào ạ, hay không thể gộp 2 công thức này lại với nhau được ạ, file của em đây ạ.
RE: Select Distinct lồng với Count không hiểu
ongke0711 > 22-05-18, 01:11 PM
- "Distinct" để lấy giá trị duy nhất (không trùng) của các fields được liệt kê trong câu lệnh SQL. Query Q3 thì nó chỉ lấy 2 ngày không trùng của Field [NgayTraLai] -> dúng. Còn query Q2: câu lênh Count(..) nó chỉ đếm dòng của field [NgayTraLai] không cần biết trùng hay không (kq là 3) -> sau đó trả về kết quả là 1 dòng -> sau đó chọn dòng duy nhất (Distinct) => cũng chỉ có 1 dòng KQ là 3 thôi. Query của bạn làm ngược.
- Query đúng:
Mã PHP:
SELECT Count(*) AS SKTN FROM (SELECT DISTINCT NgayTraLai FROM Q_STKDH) AS B;