SQL查询/记录数

时间:2012-09-27 10:16:42

标签: mysql sql

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

enter image description here

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

enter image description here

任何帮助?

2 个答案:

答案 0 :(得分:1)

您必须使用group by

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

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

SQL Fiddle DEMO

答案 1 :(得分: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`;