MySQL - 按表中的重复值进行分组,以便在另一个表中进行计数和保存输出

时间:2016-02-20 14:04:48

标签: mysql count group-by

我有一个名为table1的MySQL表,它保存页面上的设备值。该页面会回复一个脚本EVERY 2 SECOND,填满表格。

表结构如下:

id
timestamp
domain
ip 
useragent

每台设备都有唯一的IP地址。在表格中,我有多个属于同一设备的条目。

我希望能够计算按IP地址分组的记录数,并将其保存在一个新表(称为table2)中,该表具有以下结构:

id
ip
domain
useragent
count

在table1和table 2中,id是自动递增。

到目前为止,我已提出:

SELECT   ip, COUNT(*) FROM table1 GROUP BY ip; HAVING COUNT(*) > 1

如何将输出保存到table2?

1 个答案:

答案 0 :(得分:2)

您可以使用insert into .. select from构建

insert into table2(ip,
domain,
useragent,
`count`)
select ip,
domain,
useragent,
count(*) as `count`
from table1
group by ip
having `count` > 1;