【问题标题】:get MAX date using limit and offset使用限制和偏移量获取 MAX 日期
【发布时间】:2021-01-13 05:54:10
【问题描述】:

有没有办法使用限制偏移并从该组中获取最近 (MAX) 日期

我的表:column_id、column_data、column_date

我试过了

SELECT max(column_date) FROM table_name limit 2000 offset 22000

我正在尝试使用偏移量返回 2000 行中的最新日期。换句话说,我正在寻找每组 2000 年中最后修改的日期。

【问题讨论】:

  • @Akina,如果我能回答任何可能消除困惑的问题,请告诉我。
  • 您使用没有 GROUP BY 的 MAX()。在这种情况下,所有数据数组都被视为一组,并且您获得一个输出行(或者当表为空时没有)。 offset 22000 单排很奇怪,是吗?
  • 将您的表作为 CREATE TABLE 脚本提供,提供一些示例数据(10-12 行)作为 INSERT INTO 脚本(或创建在线小提琴并提供指向它的链接)。假设限制不是 2000,而是例如 3,并显示此示例数据的所需输出并附上说明。还要指定精确的 MySQL 版本。
  • @Akina,我不确定为什么偏移会被认为很奇怪。表数据是日期时间格式的日期。我不确定如何实现您的要求,或者为什么版本与我的查询相关。
  • 我不确定为什么偏移会被认为是奇怪的。如果你有只有一行那么第 22000 行不存在 b>.

标签: mysql


【解决方案1】:

上面的表结构有 100,000 行。每个查询有 2000 行,我想从 2000 行中检索最近的日期(使用偏移量)。

您必须提取整个组,然后在其上找到 MAX():

SELECT MAX(date_column)
FROM ( SELECT date_column
       FROM source_table
       ORDER BY some_expression /* compulsory! must provide rows uniqueness! */
       LIMIT @rows_in_group OFFSET @group_offset ) AS subquery

【讨论】:

  • 完美。谢谢你,Akina。
猜你喜欢
  • 2014-02-04
  • 1970-01-01
  • 2013-01-14
  • 2018-03-15
  • 2016-06-09
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多