报表快怎么取时间段最新得一条数据?

image.png

FineReport Ken小伙 发布于 2021-3-24 09:52 (编辑于 2021-3-24 10:22)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
luojian0323Lv7资深互助
发布于2021-3-24 09:54

先在sql 中

order by date_1,time desc

然后 limit 1

  • 你是风儿我是沙 你是风儿我是沙(提问者) 我是使用得是报表快里面怎么处理哈?
    2021-03-24 09:55 
  • luojian0323 luojian0323 回复 Ken小伙(提问者) 你报表块的数据源不是来自sql数据集吗?
    2021-03-24 10:12 
  • Ken小伙 Ken小伙(提问者) 回复 luojian0323 是来自数据集,如果在数据库查询得时候我用sql取最新的,那么在报表快我还需要三分钟执行一次拿最新数据,它不会还是之前那一条吧
    2021-03-24 10:15 
  • luojian0323 luojian0323 回复 Ken小伙(提问者) 你按日期时间取最大值,有新数据肯定会刷新新数据啦。
    2021-03-24 10:17 
最佳回答
0
ekDanLv6初级互助
发布于2021-3-24 09:54

按照时间降序排序后取第一笔

最佳回答
0
青鸟ekkoLv6见习互助
发布于2021-3-24 09:55

可以直接在数据库里面写,

where 后让日期字段等于最新日期

最新日期:可以使用max(day)

              或者分组(group by)之后排序(order by)取第一个(limit 1),

最佳回答
0
liboyu420949524Lv5中级互助
发布于2021-3-24 09:56

select * from 表 where time=(select max(time) from biao where date=(select max(date) from 表 ))

最佳回答
0
龙曦Lv3见习互助
发布于2021-3-24 09:57(编辑于 2021-3-24 10:00)

先使用CONCAT将年月日和时间组合,TO_DATE是用来转换类型的,在使用MAX求最大值也就是最近时间。

MAX(TO_DATE(CONCAT(CONCAT(data_1,' '),time-1),yyyy-mm-dd hh24:mi:ss'))

  • 你是风儿我是沙 你是风儿我是沙(提问者) 我是使用报表快,然后怎么处理他取得是最新数据,同时3分钟内去刷新一次最新那条数据
    2021-03-24 10:08 
  • 龙曦 龙曦 回复 Ken小伙(提问者) 双击单元格--》高级--》排序一下加个公式MAX($$$)--》结果集筛选(指定 1)注:需要先将日期和时间单元格组合(方法:select查询的时间添加一个组合字段O_DATE(CONCAT(CONCAT(日期,\'-\'),时间),\'yyyy-mm-dd hh24:mi:ss\')) 这个是自动刷新文档中有方法:决策报表内报表块刷新插件——https://help.fanruan.com/finereport/doc-view-1752.html
    2021-03-24 10:21 
  • 6关注人数
  • 358浏览人数
  • 最后回答于:2021-3-24 10:22
    请选择关闭问题的原因
    确定 取消
    返回顶部