我的任务是在ROW中获取具有最大零的行,用于以下示例结构:
0 0 0 1
0 1 0 1
1 0 0 1
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
试试这个:
SELECT *,
IF(Col1 = 0, 1, 0) + IF(Col2 = 0, 1, 0) + IF(Col3 = 0, 1, 0) + IF(Col4 = 0, 1, 0) AS s
FROM mytable
ORDER BY s DESC LIMIT 1
答案 1 :(得分:0)
如果表格表只包含0&1;和1' s,则只返回列总和最低的行:
select *
from tablename
where c1 + c2 + c3 + c4 = (select min(c1 + c2 + c3 + c4) from tablename)
如果出现平局,将返回两行。