大数据小老弟 2020-01-10 11:55 采纳率: 0%
浏览 202
已采纳

sql如何划分分类sql如何划分分类sql如何划分分类sql如何划分分类sql如何划分分类

1.把宽带账号,家庭地址,绑定网关号只要这一列有相同的值就划分为同一个家庭id
2.图片说明
3.由图可知打黄色的是同一个家庭,橘色的是一个家庭
4.前面家庭id,是我手动添加的,需要sql自动sheng'cheng
5.问了很多人这个问题还没解决,可否有大佬

  • 写回答

1条回答

  • HyperMa0 2020-01-10 15:49
    关注

    大概思路:

    前提条件:家庭ID一列全为空

    因黄色涵盖所有情况,所以为例,先后group by

    第一步:
    select 宽带账号,COUNT(*) as 该宽带账号数量 from [表15] group by 宽带账号 having COUNT(*)>1
    查出的是重复的宽带账号以及数量,循环,将这些宽带账号分配家庭ID,也就是图中5的情况

    第二步:
    select 家庭地址,COUNT(*) as 该家庭地址数量 from [表15] group by 家庭地址 having COUNT(*)>1
    查出的是重复的家庭地址以及数量,循环,将这些家庭地址分配家庭ID,这里需要兼顾第一步,需要增加判断,如果当前重复的这组家庭地址,有一个有家庭ID了,这一组不需要生成新的家庭ID,直接分配已有的那个家庭ID

    第三步:
    思路跟第二步差不多,多一个判断

    最后,剩下的没有家庭ID的,应该都是独立的家庭ID,自增长分配即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog