我最近设置了一个 MYSQL 数据库,该数据库连接到一个填充有复选框的表单。如果复选框被选中,它将在相关列中插入一个值“1”;否则,它将收到值“0”。
我想最终查看此表单中的聚合数据,并想知道是否有任何方法可以使用 MYSQL 为每列获取一个数字,该数字等于值为“1”的行数.
我尝试了以下变化:
select count(*) from POLLDATA group by column_name
这是不成功的,我能想到的其他任何事情似乎都没有意义(诚然,我在 SQL 方面并不是很有经验)。
我真的很想避免:
select count(*) from POLLDATA where column_1='1'
对于每一列(其中接近 100 个)。除了为每列输入一个 select count(*) 语句之外,还有什么方法可以做到这一点?
编辑:
如果有帮助,列是“艺术家 1”、“艺术家 2”、....“艺术家 88”、“性别”、“年龄”、“城市”、“州”。正如我试图在下面解释的那样,我希望我能够做类似的事情:
select sum(EACH_COLUMN) from POLLDATA where gender='Male', city='New York City';
(显然 EACH_COLUMN 是假的)