You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL技术求助:编写INSERT查询统计mod分组连接数并插入目标表

解决分组统计后插入新表的SQL问题

没问题,这就帮你搞定这个SQL插入需求!

原表数据(假设原表名为source_table)

idmodmodele
90actgend
22actgend
54actent
53actent
95actgenext
61actent

需求说明

需要将上述表按mod和modele字段分组统计记录数,然后插入到包含id、Mod、ConnMod、noConn字段的目标表中,预期插入结果如下:

预期插入结果

idModConnModnoConn
1actgend2
2actent3
3actgenext1

解决方案SQL

情况1:目标表id为自增主键

如果目标表(假设名为target_table)的id字段是自增主键,数据库会自动生成序号,直接用下面的语句即可:

INSERT INTO target_table (Mod, ConnMod, noConn)
SELECT 
    mod AS Mod,
    modele AS ConnMod,
    COUNT(*) AS noConn
FROM source_table
GROUP BY mod, modele
ORDER BY modele;

情况2:目标表id需要手动生成序号

如果id不是自增字段,用ROW_NUMBER()函数生成连续序号:

INSERT INTO target_table (id, Mod, ConnMod, noConn)
SELECT 
    ROW_NUMBER() OVER (ORDER BY modele) AS id,
    mod AS Mod,
    modele AS ConnMod,
    COUNT(*) AS noConn
FROM source_table
GROUP BY mod, modele
ORDER BY modele;

注意事项

  • 记得把语句中的source_table替换成你原表的实际名称,target_table替换成目标表的实际名称;
  • ORDER BY modele是为了让结果和你给出的预期顺序一致,如果不需要特定顺序可以去掉。

内容的提问来源于stack exchange,提问作者user2660409

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:34:44