您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在子查询中引用外部查询

在子查询中引用外部查询

您可以通过联接执行以下操作:

select * from table a
    inner join (
       select id,
              max(
                  if(`date` <= __LOWERLIMIT__ ,`date`, 0)
              ) as min_date,              
              min(
                 if(`date` >= __UPPERLIMIT__ , `date`, UNIX_TIMESTAMP())
              ) as max_date
           from table
           where id = __ID__
           group by id
    ) range on
    range.id = a.id and
    a.`date` between min_date and max_date;

我不是MysqL专家,因此如果需要一些语法调整,我们深表歉意。

OP也发现了这个非常好的解决方案。

  (select * from t where date < start_date order by date desc limit 1)
  union (select * FROM t WHERE date between start_date and end_date)
  union (select * from t where date > end_date order by date asc limit 1)
其他 2022/1/1 18:27:10 有483人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶