代码之家  ›  专栏  ›  技术社区  ›  Watson

Mysql Foreach子级在一行中显示Max()和Min()

  •  1
  • Watson  · 技术社区  · 16 年前

    是否可以使用select语句以返回每个父记录的子行的最大和最小列?

    因此,对于每个具有多个子记录的父记录,我希望看到任何给定列的这些子记录的最大值和最小值。

    如何在单个select语句中执行此操作?

    将创建日期之间的所有父记录返回给我。对于返回的每个父记录,显示其所有子行中列“a”的最大值,并显示其所有子行中列“a”的最小值。

    最终结果应显示:

    1 回复  |  直到 16 年前
        1
  •  0
  •   Asaph    16 年前

    您可以这样做:

    select p.id, max(c.a), min(c.a)
    from parent as p
    left outer join child as c
    on c.parentid = p.id
    group by p.id;