MySQL select MAX Datum aus verknüpften Tabelle
Habe ich diese MySQL
- Abfrage:
SELECT
s.student_id,
s.student_firstname,
s.student_lastname,
sd.student_startdate,
sd.student_enddate,
s.isActive,
c.city_name,
ctc.category_name
FROM
students s
INNER JOIN
(SELECT sd1.student_id, sd1.student_startdate, sd1.student_enddate FROM studentdates sd1) sd ON sd.student_id = s.student_id
INNER JOIN
cityselections c ON c.city_id = s.student_city_id
INNER JOIN
coursecategory ctc ON s.student_course_category_id = ctc.category_id
WHERE
sd.student_enddate BETWEEN CURDATE() AND ADDDATE(CURDATE(), INTERVAL 14 DAY)
AND s.student_city_id NOT LIKE '1'
AND s.student_city_id = 18
AND s.isActive = 1
GROUP BY s.student_id
ORDER BY sd.student_enddate ASC , s.student_lastname , s.student_firstname
In der Tabelle studentdates
es können mehrere student_startdate
und student_enddate
auf jeden student_id
aber ich wollen, wählen die einzelnen Schüler MAX(student_enddate)
.
Wie kann das getan werden?
- nutzen Sie einfach diese Funktion
MAX(student_enddate);
- Ja versucht es überall, aber noch nicht wählen das höchste Datum aus irgendeinem Grund.
- WO sd.student_enddate= ( SELECT MAX(sd.student_enddate) FROM tablename und wenn Sie möchten, stellen Sie keine where-Bedingung )
- MAX(student_enddate) funktioniert möglicherweise nicht, wenn student_enddate speichert Werte wie 2013-08-28. Ich denke, das Datum ist gegossen, um eine Ganzzahl, die würde halt 2013 bei der Berechnung der max. Vielleicht mit MIN(), MAX () und DATEDIFF() helfen würde.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie Ihre Unterabfrage wie folgt: