-3

我有一个包含两列的简单表格。第一个字段表示 id,第二个字段表示名称(字符串值)。没有字段是唯一的。因此,例如,有许多记录,例如:

在此处输入图像描述

我需要的是一个简单的 SQL 语句,它以以下格式向我显示整个表,并将内容插入到一个新表中。

在此处输入图像描述

有什么帮助吗?

4

2 回答 2

1

你必须使用group by

insert into tab2 (name,cnt)
select name, count(1) as cnt
from tab
group by name

是有关聚合函数的更多信息。

SQL 小提琴演示

于 2012-09-27T10:18:33.327 回答
0

只需使用COUNT函数计数from_id。如果你想在组中计数,请使用GROUP BY子句。像这个。

SELECT `name`, COUNT(from_id) AS `COUNT`
FROM myTable 
GROUP BY `name`;

这将返回您想要的结果。

现在你想把它插入到新表中然后你可以这样做:

INSERT INTO newTable (`name`, `count`) 
SELECT `name`, COUNT(from_id) AS `COUNT`
    FROM myTable 
    GROUP BY `name`;
于 2012-09-27T10:18:14.253 回答