我有 3 个表,每个表中有一列与每行一个 ID 相关。我正在寻找一个 sql 语句查询,它将在过去 24 小时(86400 秒)内检查所有 3 个表中的任何行,我在 time
列下的每个表中存储了时间戳。
在我得到这个查询后,我将能够执行下一步,然后检查有多少 ID 重复出现,这样我就可以按数组中最流行的进行排序,并将其限制在前 5 个。 ..
欢迎任何想法! :)
提前致谢。
斯特凡
最佳答案
SELECT id, COUNT(*) AS cnt
FROM (
SELECT id
FROM table1
WHERE time >= NOW() - INTERVAL 1 DAY
UNION ALL
SELECT id
FROM table2
WHERE time >= NOW() - INTERVAL 1 DAY
UNION ALL
SELECT id
FROM table3
WHERE time >= NOW() - INTERVAL 1 DAY
) q
GROUP BY
id
ORDER BY
cnt DESC
LIMIT 5
关于php - 复杂的 SQL 查询... 3 个表,需要最近 24 小时内最流行的使用时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714446/