计算MySql中的多列

Posted

技术标签:

【中文标题】计算MySql中的多列【英文标题】:Count multiple columns in MySql 【发布时间】:2015-10-07 09:29:34 【问题描述】:

表“兽人”

P1 p2 p3 p4 __________________________________ w2 w2 w2 w1 w1 w5 w3 w7

表“艺术”

参考设计 _________________ w1 产品1 w2 产品2 w3 产品3 w4 产品4 w5 产品5 w6 产品6 w7 产品7

我需要同时数 P1、P2、P3 和 P4。

点赞输出:

设计总计 _________________ 产品1 2 产品2 3

【问题讨论】:

【参考方案1】:

使用Union Allorc 表的所有列合并为一列。然后找到每个设计的计数并将其与artg 表连接。

查询

select t2.design,count(t1.p) as Total 
from
(
    select p1 as p from orc
    union all
    select p2 as p from orc
    union all
    select p3 as p from orc
    union all
    select p4 as p from orc
)t1
right join artg t2
on t1.p = t2.ref
group by t2.design;

结果

+----------+-------+
| Design   | Total |
+----------+-------+
| product1 | 2     |
| product2 | 3     |
| product3 | 1     |
| product4 | 0     |
| product5 | 1     |
| product6 | 0     |
| product7 | 1     |
+----------+-------+

【讨论】:

不工作,得到所有artg表,不计算orc表

以上是关于计算MySql中的多列的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 中的多列索引如何工作?

从多列值计算百分比

将mysql中的列分成多列

如何处理mysql中的“太多列”

对mysql中的多列求和

MySQL View 在单列中显示多列中的行