请大神帮忙看一下SQL语句

数据库是postgreSQL,之前这个句子都好好的,今天突然就一直在查询中,跳不出结果

SELECT *
FROM table
WHERE date = (SELECT max(date) FROM table WHERE date <> CURRENT_DATE)

date字段是date类型


或者有没有其他的写法,求date除今天外,最大的日期

访客登录 发布于 2020-12-24 14:20 (编辑于 2020-12-24 14:35)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
访客登录Lv6初级互助
发布于2020-12-24 16:39

百度查到,max不能用于子查询,改成了下面这个句子可以了

SELECT * FROM table  GROUP BY id ,date 
HAVING date =
(SELECT max(date)  FROM table WHERE date <> CURRENT_DATE)


最佳回答
0
shirokoLv6资深互助
发布于2020-12-24 14:22

语句没啥问题,可能数据库有问题,或者table是视图,视图内容有动过

最佳回答
0
AmyQLv6初级互助
发布于2020-12-24 14:22

数据连接重新连下,再数据预览下,我之前也有这样

  • 访客登录 访客登录(提问者) 重新连也不行,请问有没有其他的写法,求date除今天外,最大的日期
    2020-12-24 14:46 
最佳回答
0
山的那一面Lv3见习互助
发布于2020-12-24 15:42(编辑于 2020-12-24 15:42)

其它的查询语句好着没,应该不是语句的问题

  • 访客登录 访客登录(提问者) 其他语句都正常。这段语句分开运行也都是正常的,就是合在一起一直显示查询中
    2020-12-24 15:44 
  • 山的那一面 山的那一面 回复 访客登录(提问者) 你的date列有没有时间,还是只有日期。
    2020-12-24 15:58 
  • 访客登录 访客登录(提问者) 回复 山的那一面 没有时间,就是日期,2020-12-24这种
    2020-12-24 16:10 
最佳回答
0
HHHHH123Lv7中级互助
发布于2020-12-24 15:47

SELECT max(date) FROM table WHERE date <> CURRENT_DATE 试试直接跑这句查出的结果能不能查出来

  • 访客登录 访客登录(提问者) 能的
    2020-12-24 15:51 
  • HHHHH123 HHHHH123 回复 访客登录(提问者) 看语句确实没发现啥问题,难道是最大日期的数据量太多了???后面加个LIMIT5 限制前五条查查看?
    2020-12-24 16:11 
  • 访客登录 访客登录(提问者) 回复 HHHHH123 不多啊,每天的条目一共才20条
    2020-12-24 16:23 
  • HHHHH123 HHHHH123 回复 访客登录(提问者) SELECT * FROM table WHERE date=to_date(\'2020-12-24 00:00:00\',\'yyyy-mm-dd hh24:mi:ss\') 一点一点找问题,换成你的最大日期看能不能跑
    2020-12-24 16:34 
  • 4关注人数
  • 482浏览人数
  • 最后回答于:2020-12-24 16:39
    请选择关闭问题的原因
    确定 取消
    返回顶部