我有兩個表:使用mysql確定流行標籤?
posts{id,post,tag_id,date}
tags{id,tag,date}
我想要從後表中最熱門的標籤,在最後12小時使用。
¿我該如何做到這一點?
謝謝。
我有兩個表:使用mysql確定流行標籤?
posts{id,post,tag_id,date}
tags{id,tag,date}
我想要從後表中最熱門的標籤,在最後12小時使用。
¿我該如何做到這一點?
謝謝。
我認爲這應該工作:
SELECT tags.tag, count(*) AS count
FROM posts INNER JOIN tags
ON (posts.tag_id = tags.id)
WHERE posts.date >= SUBTIME(NOW(), '12:00:00')
GROUP BY tags.id
ORDER BY count(*) DESC
我有3個員額與'測試SQL'作爲標籤在12小時內創建,2個帖子以'PHP'作爲標籤,但只有其中一個在12小時內創建。然後上面的查詢返回:
tag count
SQL 3
PHP 1
爲了獲得最熱門的標籤,從最後12小時降序排序,你可以這樣做:
SELECT tag
FROM tags
WHERE id IN (
SELECT tag_id FROM posts WHERE date >= SUBTIME(NOW(), '12:00:00')
)
ORDER BY COUNT(id) DESC
#1305 - 功能kornar.SUB_TIME不存在:((感謝 – pingpong 2011-01-28 23:58:17
`tags`日期代表什麼? – sdleihssirhc 2011-01-28 23:41:35
當標籤被創建!我更關心與郵政表中的日期,以獲得最新的12小時 – pingpong 2011-01-28 23:43:26