开发者社区> 问答> 正文

关于mysql的字段结果求和的问题

需要的结果是, 找出status 字段等于1的找出来, 然后根据这个结果把字段user值相同的所有记录分组, 并求每组num字段的总和, 同时还要获取user对应表2的name
最终的结果就是每条记录里user对应一个num
希望sql能进来少点, 别连mysql次数太多
最初我是这样做的, 首先
SELECT DISTINCT user FROM table WHERE status='1' LEFT JOIN table2 ON (table.user=table2.user)
然后用php循环每条记录
SELECT SUM(num) FROM table WHERE user=循环中的每个user
但是这样如果user记录很多, 那就重复连数据库几次了
好像不对, user没有直接对应table2, 需要另外一个中间表, 晕了

展开
收起
落地花开啦 2016-02-05 14:37:40 3202 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    `SELECT t2.name,SUM(t1.num) FROM table1 t1
    LEFT JOIN table2 t2 ON t1.user=t2.user GROUP BY t1.user
    `

    2019-07-17 18:37:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像