问题标签 [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.
mysql - 检索每个组中的最后一条记录 - MySQL
有一个messages
包含数据的表,如下所示:
如果我运行一个查询select * from messages group by name
,我会得到如下结果:
什么查询将返回以下结果?
也就是说,应该返回每组中的最后一条记录。
目前,这是我使用的查询:
但这看起来效率很低。还有其他方法可以达到相同的结果吗?
sql - 仅从表中选择最新记录并使其快速,如何?
美好的一天,我有一个我一直在努力解决的问题,希望有人已经找到了一个聪明的解决方案(我使用 MySQL)。
我有这样的表:
我的目标是为用户选择最后插入的记录并使其快速。日志表很大(大约 90 万条记录),所以我的第一个方法是:
但似乎它为每一行计算子查询(EXPLAIN 显示 DEPENDENT QUERY)。当我将此查询拆分为两个时:
和
跑步是可以接受的。这可以通过一个查询来实现吗?
r - 在 r 中的组中选择具有最大变量值的行
返回列表索引,而不是整个 data.frame 的索引
b.2
我试图返回每个子组的最大值a.2
。我怎样才能有效地做到这一点?
mysql - mysql加入子查询
我有以下表格:
我想知道是否有人可以就如何优化或重写以下查询给我一些建议:
基本上,我在两个不同的时间获取每个 channel_name 的值、状态和连接字段。由于 t0 始终 <= t1,因此字段可能存在于 t1 中,但不存在于 t0 中,我希望将其显示出来。这就是我使用 RIGHT JOIN 的原因。如果 t1 不存在,则 t0 也不存在,因此不应返回任何行。
问题似乎是因为我加入了子查询,所以没有索引可以使用?我尝试重写它以首先对数据表的 channel_id 进行自连接,但那是数百万行。
当 t0.value = t1.value & t0.status = t1.status & t0.connected = t1.connected 时,如果能够为每个最终行添加一个布尔字段,这也是很好的。
非常感谢您的宝贵时间。
mysql - mysql更新分组最大值
我有下表
对于每个channel_id,我想找到具有最大获取时间的行并将值更改为NULL,状态为NULL并连接到0。这可能吗?该手册说您无法更新表并从子查询中的同一表中进行选择...
感谢您的时间。
mysql - 在mysql查询中查找多行的最大列集
我有一个包含以下字段和数据的表。
从这里我必须找出特定代码的最大值(年,月)。结果必须是
请帮我解决这个问题。
sql - SQL:如果另一列不匹配,如何排除最大值
我正在使用 Oracle 10g。我在
SQL 上的研究 - 如何选择具有最大值
和
http://jan.kneschke.de/projects/mysql/groupwise-max/列的行
解决如何处理 max(row) 然后找到其他 max(rows) 但是,我还没有。
条件: ID 的 max(enroll_date) 代码必须为“WHEAT”。
我不想要代码为“WHEAT”的最长注册日期。仅当最大注册日期的代码为“WHEAT”时,我才需要该行。
问题:如何编写查询以满足条件?
这不起作用,因为它返回 ID=30, Code = WHEAT 其中 Date 12/25/2001 这不是该 ID 的最大(日期)。
这也不起作用,因为它也返回 ID=30,代码 = WHEAT,其中日期 = 2001 年 12 月 25 日。
这是我的表
mysql - MySQL 基于事件的支持票证系统
整个下午。
我最近的任务是开发基于事件的支持票证系统,但我遇到了很多问题,我认为问题在于数据库结构。
目前它看起来有点像这样:
因此,每当工单更改阶段时,都会在 ticket_events 表中添加一个新行,指定它移动到哪个阶段以及何时移动,并且工单表中的 stage_id 字段将使用新阶段进行更新。
问题在于这违反了数据库规范化规则,因为票证的当前阶段由票证.stage_id 和票证事件表中的最新记录定义。在我试图写一份报告显示任何时间点的未处理票证数量时,我发现了为什么会这样。似乎很难获得任何类型的 SQL 来快速从事件表中检索当前阶段。
我设法在这个非常有用的页面 (http://kristiannielsen.livejournal.com/6745.html) 上使用选项 2 构建了一个相当快速的查询,但是我遇到了一个让我陷入困境的问题。
对于当前数据,event_id 并不总是以相对于日期的升序运行。此外,由于某些自动处理脚本,一张票很可能有两个日期完全相同的事件。这意味着任何尝试使用事件表的查询都需要“按日期排序,event_id”,这对于子查询和分组几乎是不可能的。
任何人都可以就我如何克服这些问题提供任何建议吗?有没有更好的方法来定义事件的顺序?
非常感谢。西蒙
mysql - SQL仅选择列上具有最大值的行
我有这张文件表(这里是简化版):
ID | 转 | 内容 |
---|---|---|
1 | 1 | ... |
2 | 1 | ... |
1 | 2 | ... |
1 | 3 | ... |
如何为每个 id 选择一行并且只选择最大的 rev?
使用上述数据,结果应包含两行:[1, 3, ...]
和[2, 1, ..]
。我正在使用MySQL。
目前我在while
循环中使用检查来检测和覆盖结果集中的旧转速。但这是实现结果的唯一方法吗?没有SQL解决方案吗?
mysql - 复杂的 SQL 连接查询 - 获取最新行
我的 MySQL 数据库有一个表(cfg),其中包含 4 个字段:id、name、data 和 location 这个表用于服务多个子域(location)。我需要获取给定子域(位置)的每个名称的最新行列表。
示例数据
以下查询工作正常,但似乎过于复杂和缓慢。有人有建议吗?
它会回来