Mysql 查找前两列的总和以及它们的点数?

Mysql 查找前两列的总和以及它们的点数?,mysql,sql,sql-order-by,Mysql,Sql,Sql Order By,正在尝试使用sum函数查找前2列 列可以是0或1整数值 表中所示为: ID C_ONE C_TWO C_THREE 1 1 1 0 2 0 1 1 3 1 1 0 4 0 0 0 5 1 1 0 CU DOWN列有4个点,CU ONE列有3个点,分别是前两列及其值 我已经被这个密码绊倒了 SELECT COUNT(ID) FROM MY_TABLE ORDER BY SUM

正在尝试使用sum函数查找前2列

列可以是01整数值

表中所示为:

ID  C_ONE C_TWO C_THREE
1     1     1     0
2     0     1     1
3     1     1     0
4     0     0     0
5     1     1     0
CU DOWN列有4个点,CU ONE列有3个点,分别是前两列及其值

我已经被这个密码绊倒了

SELECT COUNT(ID)
FROM MY_TABLE
ORDER BY SUM(C_ONE), SUM(C_TWO), SUM(C_THREE)
LIMIT 2

那么,您可以取消PIVOT并聚合:

select c.col,
       (case when c.col = 'col1' then t.col1
             when c.col = 'col2' then t.col2
             when c.col = 'col3' then t.col3
        end) as cnt
from (select sum(col1) as col1, sum(col2) as col2, sum(col3) as col3
      from t
     ) t cross join
     (select 'col1' as col union all
      select 'col2' as col union all
      select 'col3' as col
     ) c
order by cnt desc
limit 2;

昨天有人问了一个非常类似的问题。那不是什么人。。那是同样的一个熟悉的,tho!