SELECT a.bandwidth band,a.create_time time FROM tb1 a
LEFT JOIN tb1 b ON a.create_time = b.create_time AND a.bandwidth < b.bandwidth
WHERE a.create_time BETWEEN '2019-11-01' AND '2019-11-30'
GROUP BY a.create_time,a.bandwidth
HAVING COUNT(b.id) <14
ORDER BY a.create_time,a.bandwidth DESC
表tb1 根据创建时间create_time 分组,然后再根据bandwidth 排序,分组后排序,取每组前面14条记录;
SELECT c.time,MIN(c.band) mi FROM(
SELECT a.bandwidth band,a.create_time time FROM tb1 a
LEFT JOIN tb1 b ON a.create_time = b.create_time AND a.bandwidth < b.bandwidth
WHERE a.create_time BETWEEN '2019-11-01' AND '2019-11-30'
GROUP BY a.create_time,a.bandwidth
HAVING COUNT(b.id) <14
ORDER BY a.create_time,a.bandwidth DESC
)c GROUP BY c.time;
表tb1 根据创建时间create_time 分组,然后再根据bandwidth 排序,取排序后的前14条记录,最终取得每个分组排序后的第14条数据。
问题:查询有点慢。