Mysql 查找前两列的总和以及它们的点数?
正在尝试使用sum函数查找前2列 列可以是0或1整数值 表中所示为: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
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!