SQL查询以获取两列的所有组合

Sas*_*lla 2 sql

两天前,我在数据分析师职位的采访中被问到这个问题.有人可以告诉我这个问题的正确答案吗?

假设有一个包含三列的单个表.

  • 带有GeneId的第一列(主键)
  • 第二栏Flag1,
  • 第3列Flag2.

Flag1和Flag2列的值可以为01.我怎样写一个SQL查询中,我得到GeneIds的计数标志1,标志2可能,即标志1的不同组合0,标志2 1,标记1 1,标志2 0 ....,与其他组合.

谢谢你的时间,

关心Sashi

Ama*_*dan 10

SELECT Flag1, Flag2, COUNT(GeneId) as NumGenes
FROM genetable
GROUP BY Flag1, Flag2
Run Code Online (Sandbox Code Playgroud)