4
我有一個問題搞清楚mysql的發現,有兩個具體的「標籤」鏈接和相同的「hashid」做一個連接兩個表時發現排MySQL的:有多個標籤和相同的ID
假定我的表是這樣的:
鏈接
md5 url title numberofsaves
-----------------------------------------
a0a0 google.com foo 200
b1b1 yahoo.com yahoo 100
標籤
md5 tag
---------------
a0a0 awesome
a0a0 useful
a0a0 cool
b1b1 useful
b1b1 boring
我想返回有標籤的行BOTH「有用」和「真棒」
當前的(工作/快)查詢由1個標記找到鏈接:
SELECT links.title, links.numsaves FROM links LEFT JOIN tags ON links.md5=tags.md5 WHERE tags.tag = 'useful' ORDER BY links.numberofsaves DESC LIMIT 20
讀取後article我嘗試使用以下命令:
SELECT links.title, links.numsaves FROM links LEFT JOIN tags ON links.md5=tags.md5 GROUP BY tags.md5 HAVING SUM(tags.tag='useful') AND SUM(tags.tag='awesome') ORDER BY links.numberofsaves DESC LIMIT 20
這確實工作,但它被設置成不可用令人難以置信的慢。
任何人都知道解決方案嗎?
驚人。完美的作品。 – 2013-04-07 05:56:24
不客氣':D' – 2013-04-07 06:01:04
@JW웃,這會導致查詢緩慢嗎? – koogua 2013-06-08 16:49:49