MySQL 选择计数

标签 mysql select insert count

我有两个表:codes_tags 和 popular_tags。

代码标签

CREATE TABLE `codes_tags` (
 `code_id` int(11) unsigned NOT NULL,
 `tag_id` int(11) unsigned NOT NULL,
 KEY `sourcecode_id` (`code_id`),
 KEY `tag_id` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

流行标签

CREATE TABLE `popular_tags` (
 `id` int(10) unsigned DEFAULT NULL,
 `count` int(10) unsigned DEFAULT NULL,
 KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

抱歉,如果这个问题有点基础,但这是我正在尝试做的。我正在尝试从 code_tags 中选择 10 个 tag_id - 这些标签将是副本最多的 10 个(例如,可能有 30 条记录的 tag_id 为 7,因此如果它是最高的之一,则会选择 7) .然后我将两个值插入 popular_tags:tag_id 和该标签的标签计数。

我该怎么做?

最佳答案

沿着这些线的东西:

insert into popular_tags (id, `count`)
select
    tag_id,
    count(*),
from codes_tags
group by
    tag_id
order by
    count(*) desc
limit 10

关于MySQL 选择计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1345174/

相关文章:

mysql - 强制 SSH 到 mysql

mysql - 如何从单个组中获取最后一条记录

mysql - 使用未定义的 @parameter 执行查询,不需要通过Parameters.AddWithValue 传递

php - MySQL DUMP 作为 CSV

java - 如何使用 jodreports 和 java 在 odt 文档上运行时插入

mysql - mysql select中的缩写,它们是什么意思?

mysql SELECT 与 SUBSTRING、LOWER 和 REPLACE 命令

php - 2 在 php pdo 中查询的可能值

PostgreSQL:是否可以在单个事务中更改表并插入它?

mysql - 使用 MySQL,我尝试在数据库中创建一个表,然后插入,但收到 'syntax' 错误