SELECt m.date as m1,MIN(d.date) as m2,MAX(d.date) as m3 -- COUNT(d.date) as NbOfDays -- if so desired... FROM monthly mJOIN daily d ON month(d.date) = month(m.date) and year(d.date) = year(m.date) WHERe -- some conditionGROUP BY m.dateORDER BY m.date -- or something else...
请注意,这种类型的查询(与问题和到目前为止的其他查询一样,相对较慢,因为它们暗示着要进行表扫描,因此可以为每个[qualify]计算出month(x)和year(x)行(即在WHERe子句中放置日期范围当然会有所帮助)。如果这种查询类型经常运行,并且表的大小很大,
则为这些计算值添加一列可能会很有用 (或可能是组合值(“年-月”),因此不仅不必进行计算,而且可以为基础列建立索引。



