› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
mccreefei
V2EX  ›  MySQL

Mysql 复杂查询 sql 求救!

  •  
  •   mccreefei · Jun 19, 2020 · 3057 views
    This topic created in 2293 days ago, the information mentioned may be changed or developed.

    现在有两个表,代理商表 agent_info(id{代理商 id}, type {1:一级代理 2: 二级代理}, parent_id {二级代理所属一级代理 id}), 用户表(id, agent_id{用户所属代理商 id}), 现在需要汇总每个一级代理商下的用户数,格式行差不多如下 agent_id(一级代理 id), second_agent_num(二级代理数), user_num(代理的用户数), second_agent_user_num(所有二级代理的用户数)。 请教这个需求的复杂 sql 怎么写?

    Masonnn
        1
    Masonnn  
       Jun 19, 2020
    看的难受,格式化一下?
    DelayNoMay
        2
    DelayNoMay  
       Jun 19, 2020
    取出来后,用 pandas 随便怎么搞都可以
    CRVV
        3
    CRVV  
       Jun 19, 2020
    这个拆开查就简单了,查一次所有一级代理下面有多少二级代理,再查一次一级代理下面有多少用户,再查一次一级代理下面的二级代理有多少用户,分三次查应该也没什么不好的。

    合到一起的话,在第三个查询里面用 count(distinct) 把前面两次查询的结果算出来应该就可以了。
    Vegetable
        4
    Vegetable  
       Jun 19, 2020
    你这个逻辑层次不适合写单条语句
    mccreefei
        5
    mccreefei  
    OP
       Jun 19, 2020
    @DelayNoMay #2
    @CRVV #3
    @Vegetable #4
    感谢回答,好像确实一条 sql 不太能搞定,需要通过程序处理
    cyrnicolase
        6
    cyrnicolase  
       Jun 19, 2020
    这个描述风格很恼火呀,看着难受!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   856 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:52 · PVG 04:52 · LAX 13:52 · JFK 16:52
    ♥ Do have faith in what you're doing.