Mysql 使用SQL统计行中唯一值的出现次数
我有一张这样的桌子:Mysql 使用SQL统计行中唯一值的出现次数,mysql,phpmyadmin,xampp,Mysql,Phpmyadmin,Xampp,我有一张这样的桌子: ID | B1 | B2 | B3 | B4 | B5 | ------------------------------------ 1 | N | N | N | N | N | 2 | N | Y | N | Y | Y | 3 | N | N | N | N | Y | 我想要一个应该返回的查询 ID | Count | ------------ 1 | 5 | 2 | 2 | 3 | 4
ID | B1 | B2 | B3 | B4 | B5 |
------------------------------------
1 | N | N | N | N | N |
2 | N | Y | N | Y | Y |
3 | N | N | N | N | Y |
我想要一个应该返回的查询
ID | Count |
------------
1 | 5 |
2 | 2 |
3 | 4 |
请注意,
MySQL
中的布尔表达式解析为0/1
a=b仅当a等于b时返回1,否则返回0
SELECT
ID,
(
(B1 = 'N')+
(B2 = 'N')+
(B3 = 'N')+
(B4 = 'N')+
(B5 = 'N')
) AS Count
FROM your_table
建议: 最好规范化你的数据
请参见请分享您尝试过的方法请参见正常操作我尝试了用于计算行数的方法。i、 e从表中选择计数(B1+B2+B3+B4+B5)作为计数@1000111如果我有更多的B怎么办。什么是我的价值高达B40?规范化您的数据。在这种情况下,这是最好的建议。如何正常化。请详细说明。以B达到30为例。谢谢。只有两种类型(“Y”和“N”)吗?是的,只有两种