问题标签 [groupwise-maximum]

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 投票
1 回答
67 浏览

postgresql - 让这个 group by 和 max 查询工作

我有下表players

我想要每场比赛的最高分数以及该球员的颜色和 ID。像这样

我可以得到的前两列:

但我无法添加该播放器的颜色和 ID。我该怎么做呢?

0 投票
1 回答
84 浏览

sql - 如何过滤最大值并写入行?

Postgres 9.3.5,PostGIS 2.1.4。

我在数据库中有两个表(polygonspoints)。

points我想知道每个中有多少polygon。每个多边形将有 0 个点或超过 200000 个点。小问题如下。

我的point表如下所示:

我不想简单地计算每个多边形的点数。lan我想知道每个多边形中最常出现的是什么。因此,假设每个-点都表明这些点落入一个新的多边形中,我的结果将如下所示:

Polygon桌子:

这是我到目前为止得到的。

它给了我以下信息:

有两件事尚不清楚。

  1. 如何只获得最大值?
  2. 如果最大值可能相同,将如何处理?
0 投票
0 回答
89 浏览

mysql - 带过滤器优化的 Groupwise Max

我试图在这里摆脱我的分组最大查询中的子查询,这给了我不想要的using temporary


架构


问题

我想要最新date_timethe max(date) as date1行和每个最新date_time的行。date2 < date1currency_id

简单来说:每种货币的今天最新汇率和前一天最新汇率。


这是我根据此处描述的每个组中的 Top-N技术提出的解决方案:http : //mysql.rjweb.org/doc.php/groupwise_max#top_n_in_each_group


摆弄测试数据:http ://sqlfiddle.com/#!9/54229/8

唉,FROM状态中的子查询产生临时表......我想知道,甚至有可能避免高级分组最大问题上的临时表吗?


编辑

好的,我想我在这里得到了一些东西:http ://sqlfiddle.com/#!9/54229/55


编辑 2

最后,我的解决方案:http ://sqlfiddle.com/#!9/54229/59

O(n)性能和没有临时表。我还将结果加入到自身中以获取单行中的速率变化。

0 投票
2 回答
59 浏览

sql - 使用当前仅返回一个的查询返回 450 行的最佳方法

我正在为我工​​作的公司开发一个考勤应用程序。每个员工都会有一个分配给他们的“工作时间表”。这个时间表可能多年来保持不变,也可能在一周内更改两次。所以我创建了一个如下表。该表允许应用程序了解每个员工在任何给定日期的有效时间表。该表的列是: 1. 主键(带有自增触发器) 2. 日程的 ID 3. 员工的 ID 4. 日程生效日期

因此,要确定在任何给定日期对员工有效的时间表,我可以运行以下查询,它似乎返回了我想要的:

在本例中,将返回:26 18-OCT-15 00:00:00

所以基于上面的例子,在 2015 年 10 月 19 日,员工 1188685432 的时间表是有效的,ID 为 26。

问题是,我有时需要获取在给定日期对所有 450 名员工有效的时间表。我的问题是:在给定日期返回所有员工的时间表的最佳解决方案是什么(不运行上述查询 450 次 - 这似乎非常低效)?或者有没有更好的方法来设计我的数据结构来完成我想要的?

我已经考虑过存储过程,但似乎我需要一个游标,我听说应该避免这种情况。我无论如何都不是 SQL 大师,但我愿意学习。

非常感谢。


编辑:请原谅我,我可以看到我上面的选择查询有缺陷。我的问题仍然是相同的“如何返回给定日期所有 450 名员工的有效时间表?”


编辑:至于这可能是另一个问题的重复,我会说以下内容:我收到的这个问题的答案似乎与“可能重复”问题的答案不同。也许我的问题大致相同,但替代答案是否值得保持问题开放?特别是因为它们似乎是正确的答案。我不知道 SO 协议,所以我默认那些知道的人。

0 投票
3 回答
66 浏览

mysql - 如何根据其他列查找一列的不同

我有一个如下所示的数据框

我必须选择,对于每个distinct col1col2max(col3)

输出数据框应如下所示,

如何在R或在SQL

提前致谢

0 投票
3 回答
250 浏览

mysql - 我想使用 group by 在 mysql 中获取最后一行

这是给我每条记录的第一个索引的查询。但我想获得每个组的最新索引.. 我尝试了很多方法,但结果一无所获。用户: 这是没有摸索的

这是在摸索

这就是我分组后想要的

这就是给我的

0 投票
2 回答
1361 浏览

r - 按组查找跑步最大值

我需要使用 R 按组查找变量的运行最大值。变量按组内的时间排序,使用df[order(df$group, df$time),].

我的变量有一些 NA,但我可以通过用零替换它们来处理它。

这就是数据框 df 的样子:

我想要一个变量 curMax 为:

如果您知道如何在 R 中实现它,请告诉我。

0 投票
1 回答
211 浏览

matlab - Matlab按组运行最大

在 Matlab 中,如何计算每个组的数组的运行最大值(由另一个数组标记subs)?例如,将数组subs视为 3 个学生的标签,并将其中的相应值val视为测试分数,我想计算每个学生的运行最高分数。

val期望的输出具有与该学生当前获得的最高分数相同的大小并给出:

我的数据集非常大,有数百万个条目,所以我想避免使用 for 循环。如果我只想要每个学生的总体最高分,我会使用accumarray(subs,val,[],@max),但这里的问题更难,因为我想跑到最高分。

R中有一个类似的问题,但我希望能够在Matlab中做到这一点。 在R中按组查找运行最大值

谢谢!

0 投票
1 回答
78 浏览

php - 获取 ID 列表的行,其中特定字段在 MySQL 数据库中为最大值

我不知道我是否在标题中正确描述了这个问题,但它就是这样。

我在 MySQL 数据库中有以下表:

路线点:

和路线

我要做的是:从路由点表中为给定的 user_id 列表选择数据,其中 routepoint_time 具有最大值。

我正在尝试通过 PHP 和 Mysqli 来实现这一点,其中我为以下查询提供了一个 user_id 数组:

上述查询返回以下结果:

如您所见,问题在于它返回了最大的 routepoint_time 值,但它与其他相关值(纬度、经度等)不匹配。

我怎样才能做到这一点?

我希望你明白我想要达到的目标。任何帮助将不胜感激。

0 投票
2 回答
2659 浏览

r - Find second largest element by group

In my dataset of 3 columns, 2 are strings, 1 is integer:

I want to find the maximum and second largest of the dataset by groups; this means that I want to identify the maximum and second largest value of X in X.1 by its frequency (X.2). The code for identifying maximum by group that works for me is:

Now, the next step is to find the second largest occurring value of variable X by groups (X, X.1) as per the frequency variable X.2. The result should be 3 rows (because X.1 has 3 values) returning X by X.1 and by second biggest frequency identified from column X.2.