我是数据库新手,我正在为这样的表使用 SQLite Manager Firefox 插件:
rowid | col1 | col2 | col3
1 | N | Y | N
2 | N | N | N
3 | N | Y | Y
4 | N | Y | N
我想通过以下方式将其减少为具有较少列数(例如 2)的表:每一行应表示与计数相关联的 2 个选定列的值(N,Y)的一种可能组合. 此计数应表示原始表中的行数,其中另一列假定不同的值,但选定的 2 列具有给定的值组合。
需要明确的是,如果我选择第 2 列和第 3 列,我想获得:
col2 | col3 | count
Y | N | 2
N | N | 1
Y | Y | 1
而如果我选择第 1 列和第 2 列:
col1 | col2 | count
N | Y | 3
N | N | 1
我尝试使用 COUNT 和 GROUP BY 等命令的组合,但没有达到我的目标。例如,我尝试使用:
SELECT *, COUNT (*) AS count FROM table_test
GROUP BY col2, col3
但它似乎只适用于col2
,给我 #timescol2=Y
和 #times col2=N
,但不能与col3
...
您有什么建议吗?