感谢您的帮助,我被困在这个问题上。
让我解释一下,我有这种表:
| domain | creationdate | value 1 | value 2 |
|--------|---------------------|---------|---------|
| abc | 2013-05-28 15:35:01 | value 1 | value 2 |
| abc | 2013-04-30 12:10:10 | value 1 | value 2 |
| aaa | 2011-04-02 13:10:10 | value 1 | value 2 |
| bbb | 2012-02-12 10:48:10 | value 1 | value 2 |
| bbb | 2013-04-15 07:15:23 | value 1 | value 2 |
我想选择(带有子查询)这个:
| domain | creationdate | value 1 | value 2 |
|--------|---------------------|---------|---------|
| abc | 2013-04-30 12:10:10 | value 1 | value 2 |
| aaa | 2011-04-02 13:10:10 | value 1 | value 2 |
| bbb | 2012-02-12 10:48:10 | value 1 | value 2 |
我试图在 WHERE 子句中使用 IN/NOT IN 和 group by/have 组合子查询,但我无法获得正确的结果。
我还有另一个问题要问,如果有人已经遇到过这种问题,我会很高兴听到他是如何解决这个问题的。
您在上面看到的第一个表中的记录经常(每十分钟)被删除/插入。我的目标是制作结果的副本(或者可能是视图)(没有重复的条目),后缀邮件服务器将全天候 24/7 使用它。我听说大视图(带有许多子查询)会降低性能,这意味着表将是一个更好的选择。问题是如果我必须每十分钟创建一个新表,就会有一点停机时间,并且 postfix 将无法读取该表。
等待您的建议,谢谢。
编辑 :
根据@Ed Gibbs 的回答,有一个更好的样本:
源表:
| domain | creationdate | value 1 | value 2 |
|------------|---------------------|---------|---------|
| google.com | 2013-05-28 15:35:01 | john | mary |
| google.com | 2013-04-30 12:10:10 | patrick | edward |
| yahoo.fr | 2011-04-02 13:10:10 | britney | garry |
| ebay.com | 2012-02-12 10:48:10 | harry | mickael |
| ebay.com | 2013-04-15 07:15:23 | bill | alice |
通过您的查询,结果是源表。
期望的结果:
| domain | value 1 | value 2 |
|------------|---------|---------|
| google.com | patrick | edward |
| yahoo.fr | britney | garry |
| ebay.com | harry | mickael |
我想保留最旧的域(具有最小创建日期)具有自己的 value1 和 2。
新问题!
我根据您的 anwser 查看了所需的结果。
结果如下所示:
| domain | value 1 | foreign_key |
|------------|---------|-------------|
| google.com | patrick | X |
| yahoo.fr | britney | Y |
| ebay.com | harry | Z |
我也有一张包含此类条目的表格:
| email | value 1 | foreign_key |
|--------------------|---------|-------------|
| john@google.com | patrick | X |
| john@google.com | britney | Y |
| harry@google.com | mary | X |
| mickael@google.com | jack | X |
| david@ebay.com | walter | Z |
| alice@yahoo.com | brian | Y |
假设(在此示例中)来自 Y foreign_key 的电子邮件 %@google.com 不是好的记录(只有来自 X foreign_key 的 %google.com 是好的记录,而且因为它的域是我选择创建日期选择的域)如何我可以设法仅从我的新视图中引用的域/fk 中选择电子邮件吗?
期望的结果:
| email | value 1 | foreign_key |
|--------------------|---------|-------------|
| john@google.com | patrick | X |
| harry@google.com | mary | X |
| mickael@google.com | jack | X |
| david@ebay.com | walter | Z |
| alice@yahoo.com | brian | Y |
我尝试使用 CONCAT('%','@',domain) 和 foreign_key=foreign_key 加入,但它没有给我我想要的。