当前位置: 首页 > 面试题库 >

抓住每个组中具有最高价值的行?

权兴为
2023-03-14
问题内容

我有看起来像这样的数据:

Table
Group: "A" , Color: "Blue", Count: "400"
Group: "A" , Color: "Green", Count: "3"
Group: "A" , Color: "Yellow", Count: "6"
Group: "A" , Color: "Red", Count: "1"
Group: "B" , Color: "Purple", Count: "243"
Group: "B" , Color: "Green", Count: "2"
Group: "B" , Color: "Yellow", Count: "7"

如何查询此数据以获得每个组最流行(按计数)的颜色。因此结果将如下所示:

Result
Group: "A", Color: "Blue"
Group: "B", Color: "Purple"

问题答案:
SELECT Group, Color
FROM MyTable t
INNER JOIN (SELECT Group, Max(CAST(Count as int)) as Ct
            FROM MyTable
            GROUP BY Group) Sub
   ON sub.group = t.group
   AND sub.ct = t.count

顺便说一句,不要命名字段GROUPCOUNT。它们是关键字,将导致头痛和令人伤心。



 类似资料:
  • 问题内容: 我试图获取数组中的最大值,同时仍保留项目标签。我知道我可以通过运行sort()来做到这一点,但是如果这样做,我只会丢失标签- 这对于我需要的东西毫无意义。这是数组: 有任何想法吗? 问题答案: 不要对数组进行排序以获取最大值。 获得最大值: 获取相应的密钥:

  • 请帮助我,我已经有一个代码,它运行完美,但问题是我需要确定每行的最高和最低。我不知道如何开始,请帮助我,也请向我解释。这是代码:

  • 问题内容: 我想获得最高值,但按同一表ex上的另一个字段分组: seqid + fileid +名称 结果必须是 seqid + fileid +名称 注意:所有字段都必须像使用select一样显示*我将不胜感激。tnx 问题答案: 怎么样

  • 问题内容: 我探索了许多有关如何从多个列中返回最大值以及列名的问题和答案。但是我这里还没有解决问题,这个问题会解释: 多个列的SQL MAX? 但是我不知道如何找出具有最大价值的列名称?有任何想法吗? 问题答案: 您可以使用GREATEST函数在所有列中查找最大值:

  • 问题内容: 我有以下数据框: 我需要以某种方式重塑数据框,以使每个id的前3列具有最高的值。结果将是这样的: 它显示了每本广告的前三名最畅销书。我已经使用R中的包完成了此操作,但是我正在寻找等效的pandas。 问题答案: 您可以用来查找每一行的 n个 最大项的索引: 产量

  • 问题内容: 我有一个得分表,其中有球员得分,并且我想为每个得分最高的球员选择唯一的记录。 表格如下: 预期结果: 我可以这样用纯SQL来实现: 您能告诉我如何使用查询dsl实现相同的查询吗?我找到了一些使用JPASubQuery的解决方案,但该类对我不起作用(我的IDE无法解析该类)。我正在使用querydsl4.x。先感谢您。 问题答案: 已在querydsl 4中删除。请改为使用。您的子句应如