加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:47:56 所属栏目:PHP教程 来源:网络整理
导读:是否可以添加和乘以id相同的不同表的计数? 想像: Table_1 Table_2 Table_3id id id1 1 11 2 22 2 33 2 33 2 33 3 3 所以最终结果将是这个包含2列的表: id (COUNT(Table_1.id) + 2*COUNT(Table_2.id) + 3*COUNT(Table_3.id))1 72 123 17 解决方法 我不知道
是否可以添加和乘以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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读