我的stats表包含字段id(int)和timestamp(timestamp)。
SELECT id FROM stats GROUP BY id ORDER BY count(id) DESC LIMIT 10;
给我前十名。
我想把这些id放到另一个'流行'的表中
热门有字段id(int),position(int)和timestamp(timestamp)。
总结一下,我想创建一个查询,用于更新流行表格,其中包含统计表格中的“前10名”。
答案 0 :(得分:1)
INSERT INTO `popular` (`id`,`position`,`timestamp`)
(
SELECT `id`,COUNT(`id`),NOW()
FROM `stats` GROUP BY `id`
ORDER BY COUNT(`id`) DESC LIMIT 10
)
但它不是完全更新。这会将stats
中的新“前10名”条目添加到popular
,但保留“旧前10名”。在TRUNCATE
之前可能需要popular
。
更新: TRUNCATE TABLE
将清空给定的表格。它与DELETE FROM
几乎完全相同,但它也会重置auto_increment
的所有主键。