Ich habe zwei Tabellen mit den folgenden FeldernSQL-Select-Abfrage mit Joins Gruppe und Aggregatfunktionen
emp_table: emp_id, emp_name
salary_increase: emp_id, inc_date, inc_amount
ich verpflichtet bin, eine Abfrage zu schreiben, die die Mitarbeiterdaten, die Anzahl der Male geben Mitarbeiter erhalten haben eine Gehaltserhöhung, der Wert der maximalen Erhöhung und das Datum dieser Erhöhung. Hier ist, was ich bisher:
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;
dies korrekt alle Voraussetzungen abgesehen von dem Zeitpunkt gibt, an dem die maximale Erhöhung ausgezeichnet wurde. Ich habe Folgendes ohne Erfolg versucht:
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;
dies gibt einen Fehler "Ungültige Verwendung der Gruppenfunktion". Weiß jemand, was ich falsch mache?