问题标签 [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 回答
758 浏览

postgresql - 私聊架构

我想做私人聊天服务。现在我有一个关系数据库(PostgreSQL)来存储我的消息和线程(线程 - 用户之间的私人房间)。

我有以下表格:

1) 消息:idtextdatetimesender_idthread_idis_read

2)线程:id

3) Thread_Participants: thread_id , user_id

Message 表通过 Thread_Participants 表通过 Many_to_Many 关系与 Thread 连接。

在我的架构中,用户通过 WebSocets 和 Redis 数据库的 Pub/Sub 交换消息。

但在我看来,我需要将消息存储在关系数据库中,这样更安全。也许我错了。

但是我在获取用户线程的历史记录时遇到了问题。我想请求(关系数据库)以下字段:

线程 ID ,

last_message_in_this_thread ,

count_of_messages_in_this_thread

datetime_of_last_message_in_this_thread

username_of_last_message_in_this_thread

但是这样的请求意味着相当艰难和缓慢的请求......我怎样才能用快速的方式得到它?或者也许还有另一种消息方式或架构?

0 投票
5 回答
9362 浏览

sql - 获取每个 Group By SQL 的最新记录

我有下表:

我想获取每个名称的最新记录。所以结果应该是这样的:

有谁知道如何得到这个结果?

0 投票
2 回答
37 浏览

postgresql - 如何在postgres中按不同列删除空间和分组后获得唯一值

我有一张像

我想在删除空间后得到所有独特的音符,所以我的结果会是这样的

因为删除空格后ab cdabcd将是相同的。我正在使用 Postgres。请注意,id 列不是唯一的。

0 投票
3 回答
3808 浏览

sql - Query to rank rows in groups

I'm using Apache Derby 10.10.

I have a list of participants and would like to calculate their rank in their country, like this:

The schema looks like this (sqlfiddle):

This is what I have tried:

But according to the apache derby doco, the OVER() statement doesn't take any arguments.

Does anyone have a way to achieve the country rank?

0 投票
1 回答
327 浏览

python - 如何从 Python 3.5 中的数据框中找到最大值的确切位置-修改

我在 Python 3.5 中有一个 DataFrame,例如:

这个数据框的列名是:

我想将此DataFrame子集化为一系列相对较小的数据框,即每个小数据框仅包含一个典型的日记录,例如:第一个小数据框包含从'2011-01-01 00:00:00'到'2011-01-01 23:00:00',第二个小数据帧包含从 '2011-01-02 00:00:00' 到 '2011-01-02 23:00:00' 的信息,......直到第 1826 个小数据帧包含从“2015-12-31 00:00:00”到“2015-12-31 23:00:00”的信息。

根据@EdChum 帮助,我尝试了以下代码:

这给出了跨列的每个典型日期的最大值索引,即从 2011-01-01 到 2015-12-31:

这给出了跨列的每个小时记录的最大值的索引,即从 2011-01-01 00:00:00 到 2015-12-31 23:00:00:

现在,如何找到具有精确小时记录的每个典型日期的最大值索引,例如,我知道第一个日期 2011-01-01 的总体最大值索引是 UNF 列,但是我怎样才能获得准确的小时2011-01-01 这个UNF 列的记录,即哪个小时记录(2011-01-01 00:00:00 或2011-01-01 03:00:00)具有最大值?

非常感谢

0 投票
3 回答
2463 浏览

sql - 选择最接近的值小于给定值的条目

我想用 SQL 选择最接近的值小于给定值的条目(没有 PL/SQL!或类似的东西)。

我做到了这一点:

这将返回与键匹配的最大值小于 3 的行,但我希望能够选择所有列。

我希望能够在拥有键 TEST#22 和最大 RUN_ID 4 来选择行时:

当说最大 RUN_ID 2 来检索

0 投票
4 回答
2287 浏览

mysql - 如何使用mysql join从最右边的表中只返回一行

我有两张桌子。我想以这样一种方式加入它们,即只为最左边的表中的记录返回右表中的一条记录(第一个匹配的记录)。这两个表具有一对多的关系。以下是下表:

事件表:

门票表:

这可以使用 join 吗?我对任何其他想法持开放态度

0 投票
2 回答
718 浏览

sql - 具有共同 id 的组中具有最大天数的两个日期之间的差异

如果我从 B 组中获取日期,那么我必须找到 B 组中任意两个日期之间的最大差异,并将该 days_difference 显示为单独的列。还希望在两个不同的列中显示这两个日期,这些列具有最大的 days_difference。

条件:两个class id在数据中可能有相同的Class-Name。如您所见,Class-ID 1238 和 1252 具有相同的 Class-Name。所以输出应该是每个类ID

所以结果应该有:ClassID、ClassName、Date1、Date 2、DateDiff

0 投票
1 回答
218 浏览

mysql - 如何限制每个用户 ID 一行

我有这张表叫做employeetimesheets:

该表允许经理访问所有员工时间表。一名员工可以有多个考勤表。我只想显示每位员工的最新条目。我在手册中阅读了我必须编写一个组最大子查询left joininner join但我不确定如何在这里进行。

到目前为止,这是我的查询:

0 投票
2 回答
133 浏览

mysql - Sequelize groupwise max

我尝试使用 sequelize 进行分组最大值,但除了原始查询之外找不到任何解决方案。

例如,我有一个 1:m 关联。symbols表中有很多行company_key_statisticscompany_key_statistics有一列createdAt是时间戳,指示何时创建行。我需要加入 latest symbolscompany_key_statistics但我只需要 latest company_key_statistics。例如,我需要获取ORCLMSFT符号,并且只有它们最新的company_key_statistics.

我想知道是否可以使用 sequelize 内置方法来做这些事情,或者唯一的方法是原始查询?

更新

我也问过同样的这个问题,但对于普通的 MySQL,也许基于这个问题有人可以回答如何处理 sequelize。提前致谢!