首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Group用于计数数据组的记录

SQL Group用于计数数据组的记录
EN

Stack Overflow用户
提问于 2019-10-15 21:27:58
回答 2查看 28关注 0票数 1

我有一个含有化学数据的数据库。我的字段是站点、日期和分析。每隔几天收集一次样品,并对样品进行硝酸盐、亚硝酸盐或磷的检测。但是这三个测试并不是在所有的日子里都做的;有些时候,只做了一到两个测试。

我想计算所有三个测试都完成的实例。我有一个简单的聚合函数:

代码语言:javascript
复制
Select site, date, analyte
from myTable
group by site, date, analyte
order by site, date, analyte

但这不对。我只想返回所有三个测试都是在一天内在一个站点进行的数据集(即完整的数据集)。我只想知道所有三个测试的日期。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-15 21:30:20

如果您正在按站点/日期查找完整的数据集,那么我认为您需要:

代码语言:javascript
复制
select site, date
from mytable
where analyte in ('nitrate', 'nitrite', 'phosphorus')  -- may not be necessary
group by site, date
having count(distinct analyte) = 3;
票数 2
EN

Stack Overflow用户

发布于 2019-10-15 21:30:50

可以通过向现有查询中添加一个(site, date, analyte)子句来检查每个having元组是否有3条记录可用:

代码语言:javascript
复制
select site, date, analyte
from myTable
group by site, date, analyte
having count(*) = 3
order by site, date, analyte
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58402870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档