Tôi có hai bảng với các lĩnh vực sauSQL chọn truy vấn sử dụng tham gia, nhóm bằng và chức năng tổng hợp
emp_table: emp_id, emp_name
salary_increase: emp_id, inc_date, inc_amount
Tôi cần phải viết một truy vấn mà cung cấp cho các chi tiết nhân viên, số lần một nhân viên đã nhận được tăng lương, giá trị của số tiền tăng tối đa và ngày tăng đó. Dưới đây là những gì tôi có cho đến thời điểm này:
SELECT e.*, count(i.inc_amount), max(i.inc_amount)
FROM salary_increase AS i
RIGHT JOIN emp_table AS e
ON i.emp_id=e.emp_id
GROUP BY e.emp_id;
chính xác điều này cung cấp tất cả các yêu cầu ngoài ngày tăng tối đa được trao. Tôi đã thử những điều sau đây mà không thành công:
SELECT e.*, count(i.inc_amount), max(inc_amount), t.inc_date
FROM salary_increase AS i
RIGHT JOIN emp_table AS e
ON i.emp_id=e.emp_id
RIGHT JOIN
(
SELECT emp_id, inc_date FROM salary_increase
WHERE inc_amount=max(inc_amount) GROUP BY emp_id
) AS t
ON e.emp_id=t.emp_id
GROUP BY e.emp_id;
điều này cho lỗi 'Sử dụng chức năng nhóm không hợp lệ'. Có ai biết tôi đang làm gì sai không?