Php &引用;在重复更新时按计数插入“从组中选择”;联合体
我有一个MySQL主表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
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
重复一下我需要的:
- 从主表中获取所有数据
- 关注一个特定的专栏
- 按频率对其行进行分组
- 将它们插入专门为此值制作的单独表格中
- 单独的表还需要填写出现次数(查询的计数)
- 需要作为插入项工作,或者如果存在,则更新
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是目标表中的主键