问题标签 [greatest-n-per-group]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
35 回答
639903 浏览

sql - 获取列的最大值所在的行

桌子:

我想获取每个 UserId 的 Max(Date) 的 UserId 值。即,每个具有最新日期的 UserId 的值。有没有办法简单地在 SQL 中做到这一点?(最好是甲骨文)

更新:对任何歧义道歉:我需要获取所有用户 ID。但是对于每个 UserId,只有该用户具有最新日期的那一行。

0 投票
5 回答
72889 浏览

sql - 获得每个组的最佳结果(在 Oracle 中)

我如何能够在 oracle 查询中为多个组获得 N 个结果。

例如,给定下表:

有更多的行有更多的职业。我想从每个职业中获得三名员工(比如说)。

有没有办法在不使用子查询的情况下做到这一点?

0 投票
3 回答
1738 浏览

mysql - MySQL 查询:限制 JOIN

假设我有两个要加入的表。分类:

和项目:

我想要一个返回类别和第一个(并且只有第一个)项目名称的查询:

有没有办法我可以获得随机结果,例如:

谢谢!

0 投票
14 回答
572396 浏览

sql - 为每个类别选择前 10 条记录

我想在一个查询中返回每个部分的前 10 条记录。任何人都可以帮助如何做到这一点?节是表中的列之一。

数据库是 SQL Server 2005。我想按输入的日期返回前 10 名。部分是业务、本地和功能。对于某个特定日期,我只想要前 (10) 个业务行(最近的条目)、前 (10) 个本地行和前 (10) 个特征。

0 投票
2 回答
1071 浏览

mysql - MySQL 中的数组切片/group_concat 限制

假设我有一张桌子:

显然SELECT a, GROUP_CONCAT(b SEPARATOR ',') GROUP BY a会给我

但是如果我只想获得有限数量的结果,比如 2,例如:

有任何想法吗?

0 投票
2 回答
1143 浏览

mysql - MySQL - 每个 WHERE_IN 问题的棘手限制

我正在寻找执行以下操作(请参阅伪代码);我想为每个 gd.id(7、11 或 9)选择 4 行。我错误地使用了限制,因为总共只产生了 4 行。任何人都知道如何更改此查询以实现我的目标?

谢谢!

ps 也许是某种类型的 group_by?

0 投票
9 回答
47537 浏览

sql - 获取 SQL 中另一列的每个值的最常见值

我有一张这样的桌子:

对于每个国家,我都想获得最常吃的食物。我能想到的最好的(我正在使用 postgres)是:

在最后一条语句中,需要 GROUP BY 和 max() 来打破关系,其中两种不同的食物具有相同的计数。

对于概念上简单的东西,这似乎需要做很多工作。有没有更直接的方法来做到这一点?

0 投票
6 回答
792 浏览

sql - 每个标准的限制

我有一个文章表和一个类别表。我想为每个类别获取 7 篇文章。目前我有这个,但在大桌子上速度很慢,所以它不是一个真正的解决方案:

使用解释,它向我显示它正在执行连接类型 ALL 和 REF。选择类型是 PRIMARY 和 DEPENDENT SUBQUERY 。

有更好的解决方案吗?

0 投票
5 回答
2985 浏览

sql - 需要有关 SQL 中复杂 Join 语句的帮助

如何在具有稀疏日期数的表和具有详尽日期数的另一个表之间连接,以使稀疏日期之间的间隔采用前一个稀疏日期的值?

说明性示例:

期望的结果:

更新:

几个人建议了一个相关的子查询来完成所需的结果。(相关子查询 = 包含对外部查询的引用的子查询。)

这将起作用;但是,我应该注意到我使用的平台是 MySQL,其相关子查询的优化很差。有什么方法可以在不使用相关子查询的情况下做到这一点?

0 投票
7 回答
101724 浏览

mysql - 如何从 mysql 表中选择最新的日期记录集

我将各种 rpc 调用的响应存储在 mysql 表中,其中包含以下字段:

method为和的所有现有组合选择最新响应的最佳方法是什么id

  • 对于给定的方法/ID,每个日期只能有一个响应。

  • 对于给定日期,并非所有呼叫组合都必须存在。

  • 有数十种方法,数千个 id 和至少 365 个不同的日期

样本数据:

期望的结果:

(我不认为是同一个问题 - 它不会给我最新的response