Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如果没有结果,则返回指定的值_Mysql - Fatal编程技术网

Mysql 如果没有结果,则返回指定的值

Mysql 如果没有结果,则返回指定的值,mysql,Mysql,我有一个疑问: $query='insert into pageview (visitor,id_realestate,time) select "q17872745t", 150, now() from pageview a where DATE_ADD(now(),INTERVAL -30 MINUTE) > ( select max(time) from pageview b where a.id_realestate=b.id_real

我有一个疑问:

  $query='insert into pageview (visitor,id_realestate,time)
  select "q17872745t", 150, now() 
     from pageview a
     where DATE_ADD(now(),INTERVAL -30 MINUTE) > (
        select max(time) from pageview b where a.id_realestate=b.id_realestate AND a.visitor=b.visitor
  ) LIMIT 1';
我想要这部分:

  select max(time) from pageview b where a.id_realestate=b.id_realestate AND a.visitor=b.visitor
如果没有结果,则返回现在为负40分钟的日期/时间

将MAXtime包装在子句中


假设您的查询是正确的,只需将当前查询包装到另一个查询中,然后检查值是否为null,如下所示:

选择IFNULL选择maxtime 从页面视图b 其中a.id\U房地产=b.id\U房地产 a.visitor=b.visitor,DATE_SUBnow,间隔30分钟


在上面的查询中,我使用max作为子查询包装了您的查询,如果返回的值为null,则使用DATE\u SUB返回一个值,从现在开始减去30分钟。

您想做什么?为什么您要查看两次表页面?告诉我们您需要插入什么,我们可以重构您的查询correctly@Marco看到这里,如果组合visitor,value不存在,我现在仍然想插入数据。
IFNULL(MAX(time), NOW() - INTERVAL 40 MINUTE)