Impala 查询:组合多个 COUNT DISTINCT WHERE 子句
Impala Query: Combine multiple COUNT DISTINCT WHERE clauses
在 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 的计数。
分组依据可以解决问题http://sqlfiddle.com/#!9/1d75f/6
SELECT SUBSTRING(sample, 1,3) , COUNT(DISTINCT sample)
FROM samples
group by SUBSTRING(sample, 1,3);
在 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 的计数。
分组依据可以解决问题http://sqlfiddle.com/#!9/1d75f/6
SELECT SUBSTRING(sample, 1,3) , COUNT(DISTINCT sample)
FROM samples
group by SUBSTRING(sample, 1,3);