背景
在msyql查询中经常会出现一对多查询,只查询多表中的其中一条最新的数据或者达成某个条件的数据。如果只用GROUP BY已经不能满足查询结果,这时查询就会变得复杂。
举个例子,学校表、课程表、课程排序表,我需要每个学校下面课程排序最靠前的一个课程。
在有些案列中我们可以看到被人使用的方法是:
``SELECT c.Id FROMt_course_rank AS ocrLEFT JOIN ( SELECT * FROM t_course WHERE coursetype = 2 ORDER BY Visit DESC ) AS c ON c.Id = ocr.courseidLEFT JOIN t_school AS s ON c.LoginId = s.LoginIdWHEREc.LoginId IN (19) GROUP BY c.LoginId
通过临时表关联完成某中条件中最新数据,但是这种查询不准确,无法满足条件。