MySQL-有趣的搜索我有问题
我正试图找到一种只使用MySQL查询来提取特定数据的方法。我的数据库如下:MySQL-有趣的搜索我有问题,mysql,sql,Mysql,Sql,我正试图找到一种只使用MySQL查询来提取特定数据的方法。我的数据库如下: <pre> id | number | eventdate | type | email | ----------------------------------------------------------------------- 1 | 1000 | 2014-01-01 | 5 |
<pre>
id | number | eventdate | type | email |
-----------------------------------------------------------------------
1 | 1000 | 2014-01-01 | 5 | tom@email.com |
2 | 1001 | 0000-00-00 | 1 | tom@email.com |
3 | 1002 | 2014-01-01 | 3 | john@email.com|
4 | 1003 | 0000-00-00 | 6 | joe@email.com |
5 | 1004 | 2014-01-01 | 3 | bob@email.com |
6 | 1005 | 0000-00-00 | 1 | adam@email.com|
7 | 1006 | 2014-01-01 | 3 | beth@email.com|
</pre>
查询将查找类型不为1,但eventdate不等于“0000-00-00”的任何人。但是如果有重复的电子邮件地址,我们只想注意没有eventdate的地址。有道理吗
没什么紧急的,只是有人问我们一个问题,要我们提取数据。我们设法用更长的方法手动拉出数据。。。但是,必须有一个更简单的方法。我想我们只是想让它变得比必须的更难
谢谢你的提示
注意,实际的表要大得多,有许多重复的行和更多的列。这些就是我们感兴趣的专栏。您可以通过group by轻松完成这项工作,并拥有:
having子句中的每个子句都测试您的一个条件。您可以通过group by和having轻松完成这一任务:
having子句中的每个子句都测试您的一个条件。您可以通过group by和having轻松完成这一任务:
having子句中的每个子句都测试您的一个条件。您可以通过group by和having轻松完成这一任务:
having子句中的每个子句都测试您的一个条件。当您说现在有一个类型为1时,您的意思是…没有…?是的,对不起。。。打字错误…不完全清楚。你想要一个混合的结果,有些有事件日期,有些没有?您的示例中的哪些行是正确的查询应该返回的?当您说现在有一个类型为1时,您的意思是…没有…?是的,对不起。。。打字错误…不完全清楚。你想要一个混合的结果,有些有事件日期,有些没有?您的示例中的哪些行是正确的查询应该返回的?当您说现在有一个类型为1时,您的意思是…没有…?是的,对不起。。。打字错误…不完全清楚。你想要一个混合的结果,有些有事件日期,有些没有?您的示例中的哪些行是正确的查询应该返回的?当您说现在有一个类型为1时,您的意思是…没有…?是的,对不起。。。打字错误…不完全清楚。你想要一个混合的结果,有些有事件日期,有些没有?正确的查询应该返回示例中的哪些行?电子邮件地址,ithink@serakfalcon . . . 是的,有道理。电子邮件地址,我think@serakfalcon . . . 是的,有道理。电子邮件地址,我think@serakfalcon . . . 是的,有道理。电子邮件地址,我think@serakfalcon . . . 是的,这是有道理的。
select email
from table t
group by email
having sum(type = 1) = 0 and
sum(eventdate <> '0000-00-00') > 0;