我现在有这个:
SELECT de.id, d.name, de.title discos_events de
INNER JOIN places d ON (de.dID = d.id)
WHERE unix_timestamp(now()) > de.date
LIMIT 10
这向我展示了最近的10个事件。
所以无论10个事件是来自同一个地方(dID),它仍然会显示10 ..
现在我希望每个地方显示1个最新活动。
因此,如果20个事件10来自dID 1而10来自dID 2,则它应该从每个地方输出一个事件,因此总共将有2个事件。这两个事件是最新的事件(unix_timestamp(now())> de.date)
答案 0 :(得分:2)
假设您在同一天没有同一个ID的两个事件:
SELECT de.id, d.name, de.title
FROM discos_events de INNER JOIN places d ON (de.dID = d.id)
WHERE de.date = (SELECT MAX(t.date)
FROM disco_events t
WHERE t.dID = de.dID
AND unix_timestamp(now()) > t.date)
LIMIT 10;