Php &引用;在重复更新时按计数插入“从组中选择”;联合体

Php &引用;在重复更新时按计数插入“从组中选择”;联合体,php,mysql,sql,Php,Mysql,Sql,我有一个MySQL主表analytika: ID | aa_current | aa_referrer | aa_mobile | ...... 1 index.html ---- false ...... 2 frank.html ---- false ...... 3 lenon.html ---- true ...... 4

我有一个MySQL主表
analytika

ID  |  aa_current  |  aa_referrer  | aa_mobile | ......

1      index.html     ----           false       ......
2      frank.html     ----           false       ......
3      lenon.html     ----           true        ......
4      index.html     ----           false       ......
5      lemon.html     ----           false       ......
我想做的是让cron每晚执行一个php代码,它将从这个大型的
analytika
表中获取数据,按频率分组,并将它们插入到单独的表中,只针对每一列。(因此,我有其他表格用于列,如
analytika_pages
当前数据应该放在哪里等。)

这是子表的期望结果之一
分析页面

ID  |  aa_current  |  count

1      index.html     2
2      frank.html     1
3      lenon.html     1
5      lemon.html     1
我面临的主要困难是将所有操作合并到查询中。我是一个非常初学者,所以我从多个来源发布了这个,我就快到了,但是它缺少的是计数并将其插入aa_电流旁边

INSERT INTO analytika_pages(aa_current)
    SELECT aa_current
    FROM
    (SELECT aa_current, COUNT(aa_current) AS pocet FROM analytika GROUP BY aa_current ORDER BY pocet DESC) as sb
    ON DUPLICATE KEY UPDATE count = count + pocet
重复一下我需要的:

  • 从主表中获取所有数据
  • 关注一个特定的专栏
  • 按频率对其行进行分组
  • 将它们插入专门为此值制作的单独表格中
  • 单独的表还需要填写出现次数(查询的计数)
  • 需要作为插入项工作,或者如果存在,则更新

您还应检索有效的id。。为了让重复的关键条件也起作用

INSERT INTO analytika_pages(id, aa_current, count)
select min(id), aa_current, count(aa_current)
FROM analytika 
GROUP BY aa_current
ON DUPLICATE KEY UPDATE count = count + pocet

(但您确定两个表之间的id始终是一致的吗??)

哪个是表的键列???@scaisEdge id是目标表中的主键