Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 如何选择1个月内未被访问的URL?_Mysql - Fatal编程技术网

Mysql 如何选择1个月内未被访问的URL?

Mysql 如何选择1个月内未被访问的URL?,mysql,Mysql,我有一个两列的表格。一列包含VARCHAR类型的URL,另一列包含DATE类型的日期 如何选择1个月内未访问的URL 例如,如果这是我的数据 url date google.com 2/2/2013 yahoo.com 2/2/2013 google.com 3/2/2013 select语句应返回yahoo.com,因为该url已超过1个月未被访问过请尝试: SELECT a1.url FROM accesses AS a1 WHERE a1.url NOT IN

我有一个两列的表格。一列包含VARCHAR类型的URL,另一列包含DATE类型的日期

如何选择1个月内未访问的URL

例如,如果这是我的数据

url         date
google.com  2/2/2013
yahoo.com   2/2/2013
google.com  3/2/2013
select语句应返回
yahoo.com
,因为该url已超过1个月未被访问过

请尝试:

SELECT a1.url 
FROM accesses AS a1
WHERE a1.url NOT IN (
  SELECT a2.url 
  FROM accesses AS a2
  WHERE a2.access >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
);
这与丹尼·贝克特的答案相反

试试:

SELECT a1.url 
FROM accesses AS a1
WHERE a1.url NOT IN (
  SELECT a2.url 
  FROM accesses AS a2
  WHERE a2.access >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
);
这与丹尼·贝克特的答案相反


您能否提供具有所需结果的样本记录;你如何把这些表中的数据连接起来?这是一个表-是的,我可以举一个例子。你能给出带有所需结果的样本记录吗;t?如何连接这些表中的数据?这是一个表-是的,我可以举个例子谢谢!只需在嵌套查询的末尾添加一个
GROUP BY a2.url
,它应该是完美的。它不是相反的,它是一个完全不同的查询。我从表面上认为OP希望返回日期早于1个月的所有行。事实上,他/她想(我不知道你是怎么想出来的,因为问题中没有任何地方说明)让URL显示多次,并且其中一次更新超过1个月,不显示在结果集中。正如我所说,只有两个完全不同的查询-不是“反向”。谢谢!只需在嵌套查询的末尾添加一个
GROUP BY a2.url
,它应该是完美的。它不是相反的,它是一个完全不同的查询。我从表面上认为OP希望返回日期早于1个月的所有行。事实上,他/她想(我不知道你是怎么想出来的,因为问题中没有任何地方说明)让URL显示多次,并且其中一次更新超过1个月,不显示在结果集中。正如我所说,只有两个完全不同的查询-而不是“反向”。