HRZ

order by和group by配合使用

如果join的表关系是主表下面有多个子表数据。要按照主表分组,但是需要查询到子表某个字段最大或最小的值


假设主表是a 子表是b

SELECT
    * 
FROM
    (
    SELECT
        `a`.`id`,
        `a`.`name`
        `b`.`price`,
        `b`.`title`
    FROM
        `a` `a`
        INNER JOIN `b` `b` ON `b`.`a_id` = `a`.`id`
    WHERE
        `a`.`is_del` = '0' 
    ORDER BY
        `b`.`price` ASC 
    limit 100
    ) a 
GROUP BY
    `a`.`id`

需要注意的一点是:如果没有加limit,则子查询的排序不会生效