微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 添加和乘以几个表的COUNT()

是否可以添加和乘以id相同的不同表的计数?
想像:

Table_1       Table_2    Table_3
id            id         id
1             1          1
1             2          2
2             2          3
3             2          3
3             2          3
3             3          3

所以最终结果将是这个包含2列的表:

id        (COUNT(Table_1.id) + 2*COUNT(Table_2.id) + 3*COUNT(Table_3.id))
1                                   7
2                                   12
3                                   17

解决方法

我不知道我是否理解你,但尝试一下,

SELECT a.ID,a.aa + (2 * b.bb) + (3 * c.cc)
FROM
  (
    SELECT ID,COUNT(*) aa
    FROM table1
    GROUP BY ID
  ) a LEFT JOIN
  (
    SELECT ID,COUNT(*) bb
    FROM table2
    GROUP BY ID
  ) b ON a.ID = b.ID
  LEFT JOIN
  (
    SELECT ID,COUNT(*) cc
    FROM table3
    GROUP BY ID
  ) c ON a.ID = c.ID

SQLFiddle Demo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐