impala查询:组合多个count distinct where子句

1dkrff03  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(449)

在 Impala 上,我试图计算包含“101”、“102”或“103”的不同样本id的数量。
以下是我的数据示例:

| sample_id | 
 ___________
| 101-345-5 | 
| 101-345-6 | 
| 101-345-6 | 
| 102-345-5 | 
| 103-345-5 | 
| 103-345-8 | 
| 103-345-8 |

我想计算一下每个研究组中有多少不同的样本id:

| Study | Count | 
 _______________
| 101   |   2   | 
| 102   |   1   | 
| 103   |   2   |

我可以轻松地创建单独的查询来查找每个组中的数字:

SELECT COUNT(DISTINCT ill.sample_id) as 101_count
FROM illumina_data ill
WHERE SUBSTRING(ill.sample_id, 1,3) = "101"

但我真的很想弄清楚如何使用一个查询来查找101、102和103的计数。

pgky5nke

pgky5nke1#

一组人就行了http://sqlfiddle.com/#!9/1d75f/6号楼

SELECT SUBSTRING(sample, 1,3) , COUNT(DISTINCT sample)
FROM samples 
group by SUBSTRING(sample, 1,3);

相关问题