首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询的条件

mysql查询的条件
EN

Stack Overflow用户
提问于 2016-02-03 00:44:45
回答 1查看 47关注 0票数 3

我有一个mysql数据库,这里是列;

日期

计算机实验室

句号

只有两个可能的数据值进入计算机实验室列,即A101或A102

然而,可以有重复的数据行,但是有不同的计算机实验室数据。

例如,

日期= 3-15-16计算机实验室= A101周期=1

日期= 3-15-16计算机实验室= A102周期=1

我的网页从收到几个句点1,3,5的用户那里得到输入

这就是我需要的:

如果句点1或3或5同时包含A101和A102,则返回该日期。

我认为这会奏效,但它不管用

代码语言:javascript
复制
mysql_query("SELECT date FROM reservations WHERE period IN ($periods) AND lab in ('A101','A102') GROUP BY date HAVING COUNT(*) = 2");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 00:48:03

我认为你需要按时间和日期进行分组才能得到你想要的:

代码语言:javascript
复制
SELECT date, period
FROM reservations
WHERE period IN ($periods) AND lab in ('A101', 'A102')
GROUP BY period, date
HAVING COUNT(*) = 2;

这将检查给定时期是否有两个实验室。你在检查三个句点的集合是否正好有两个条目。

嗯,我意识到你可能打算检查这三期是否同时分配了两个实验室,任何组合。如果是,那么使用count(distinct)

代码语言:javascript
复制
SELECT date
FROM reservations
WHERE period IN ($periods) AND lab in ('A101', 'A102')
GROUP BY date
HAVING COUNT(DISTINCT lab) = 2;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35166556

复制
相关文章

相似问题

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