我想用連接查詢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