我陷入了MySQL查询。我有两个表,一个名称是STUDENT,字段名称是(ID,FullName),其中ID是PRIMARY KEY,另一个表是Student_FEE字段是(ID,Student_ID,Date)这里Student_ID是外键。 当我执行此查询时,我得到所有记录,但我只想选择每个Student_ID的最后一行,而不是所有这里都是图像和查询。 记住我只需要ID 5和ID 9
SELECT Student_FEE.*
FROM Student_FEE
LEFT JOIN Student
ON Student_FEE.ID=Student.ID
答案 0 :(得分:2)
非常感谢你,我发现了这一点,感谢stackoverflow。这是答案
SELECT Student_FEE。* FROM Student_FEE LEFT JOIN Student ON Student_FEE.student_ID = Student.ID WHERE Student_FEE.ID IN(SELECT_(ID)FROM Student_FEE GROUP BY Student_ID)
答案 1 :(得分:1)
您应该通过adn in in子句使用组
SELECT Student_FEE.*
FROM Student_FEE
LEFT JOIN Student
ON Student_FEE.student_ID=Student.ID
where Student_FEE in ( select max(ID)
from Student_FEE
group by student_ID)
答案 2 :(得分:0)
感谢您的上一次查询是正确的,但仅限于我单独运行时。这是我运行您的上一个查询时的结果 从Student_FEE GROUP BY Student_ID中选择MAX(ID) 这给了我这些结果 Query Result 但是,当我在一个人运行时,这给我错误?下面是一些屏幕短片,请你查看@scaisEdge SQL All Query