【问题标题】:Fetching previous entry if particular date value doesn't exist如果特定日期值不存在,则获取上一个条目
【发布时间】:2015-03-17 06:33:31
【问题描述】:

如果该日期不存在条目,我想获取最后一个条目的值。

例如:-

目前正在发生的事情,如果我将日期更改为上一个并且记录不存在,则显示今天或已经显示的记录。但我想显示最后输入的记录,以防记录不存在。

另一个例子..

DATE     |   GOAL
17       |   320 
16       |   420
13       |   300 

如果用户按下上一个按钮并且他在 16 上,那么用户应该在 15 上获得 13 日期值,因为 15 不存在值。

【问题讨论】:

  • 您想要 DATE = SELECT MAX(DATE) FROM table WHERE DATE <= _your_value_ 的行。
  • 实际上我想要较低日期的值.. 如果 14 日没有条目,那么它显示我的值是 13 日或小于该日期
  • 光标为空时只使用循环,降低当前参数。使用循环或递归

标签: android mysql sql sqlite


【解决方案1】:

使用 WHERE 忽略所有日期较晚的行,然后取剩余日期最大的行:

SELECT *
FROM MyTable
WHERE Date <= *the_value*
ORDER BY Date DESC
LIMIT 1

【讨论】:

    【解决方案2】:

    这是我建议的代码解决方案和in a fiddle for you to check

    select *
    from table1 
    where date_col = (
      select max(date_col)
      from table1
      where date_col <= *the_value*)
      ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多