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)