我想用连接查询2个表。我期望能获得2行,但只拿到1:为什么这只返回1行?
SELECT tmp.pk, tmp.domain, count(crawl.pk)
FROM (
SELECT * FROM domains
WHERE domain IN('www.google.com', 'www.yahoo.com')
AND pk < 10000
) tmp
JOIN crawl ON crawl.domain=tmp.pk
AND crawl.date_crawled <= 3
HAVING COUNT(crawl.pk) < 1000
结果:
+-------+--------------------+-----------------+
| pk | domain | count(crawl.pk) |
+-------+--------------------+-----------------+
| 14929 | www.yahoo.com | 88 |
+-------+--------------------+-----------------+
1 row in set (0.03 sec)
如果我从报表中删除 'www.yahoo.com' 然后我得到“www.google.com '(因此,我知道www.google.com和www.yahoo.com都通过了我的标准)。
为什么它只返回1行,当它应该返回2?
没有看到数据就无法知道。 – doublesharp 2014-11-22 00:27:14
你的GROUP BY语句在哪里? – Phil 2014-11-22 00:30:06
@菲尔:非常棒。谢谢! – 2014-11-22 04:29:57