gpt4 book ai didi

sql - 从基于组的行中获取 id

转载 作者:行者123 更新时间:2023-12-01 13:06:40 26 4
gpt4 key购买 nike

表A

  • tableAID
  • tableBID
  • 等级

  • 表B
  • tableBID
  • 姓名
  • 说明

  • 表 A 从两个表中的 tableBID 链接到表 b。

    如果我想在表 A 中找到表 B 中每一行的最高等级的行,我会这样写我的查询:
    select max(grade) from TableA group by tableBID

    但是,我不只是想要成绩,我想要该行的成绩加上 id。

    最佳答案

    你可以尝试类似的东西

    SELECT  a.*
    FROM TableA a INNER JOIN
    (
    SELECT tableBID,
    MAX(grade) MaxGrade
    FROM TableA
    GROUP BY tableBID
    ) B ON a.tableBID = B.tableBID AND a.grade = B.MaxGrade

    使用 Sql Server 2005 ROW_NUMBER你也可以尝试的功能
    SELECT  tableAID,
    tableBID,
    grade
    FROM (
    SELECT *,
    ROW_NUMBER() OVER (PARTITION BY tableBID ORDER BY grade DESC) RowNum
    FROM @TableA
    ) A
    WHERE a.RowNum = 1

    关于sql - 从基于组的行中获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588095/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com