【问题标题】:MariaDB nested selectMariaDB 嵌套选择
【发布时间】:2019-12-04 16:46:38
【问题描述】:

我在 MariaDB 中有这张表:

+-----------------+------+----------------+------------+------------------+------+--------+
| date            | host | process        | text       | num1             | num2 | suffix |
+-----------------+------+----------------+------------+------------------+------+--------+
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656876839 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656873333 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656871111 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | mt     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | dn     |
| Jul 23 09:24:16 | mmr  | mmr-core[4268] | Aweg3AOMTs | 1563866656872222 |    0 | dn     |
+-----------------+------+----------------+------------+------------------+------+--------+

我需要从表中找出哪个 num1 id 同时具有后缀 mt 和 dn。

到目前为止,我有一个 SELECT 可以找到我所有 num1 的后缀为“mt”的后缀。

SELECT num1
from table4
WHERE suffix = 'mt' group by num1;

+------------------+
| num1             |
+------------------+
| 1563866656871111 |
| 1563866656872222 |
| 1563866656873333 |
| 1563866656876839 |
+------------------+

从 SELECT 之前,我想 SELECT num1 也有后缀“dn”。

我试过了,但是没用:(

SELECT num1 
FROM (SELECT num1 from table4 WHERE suffix = 'mt' group by num1)
WHERE num1=ID AND suffix = 'dn';

【问题讨论】:

  • 你为什么这么坚决要使用嵌套选择?
  • 我不知道。在我看来,这似乎更简单,但显然不是,,,

标签: mysql sql select mariadb


【解决方案1】:

我想你想要:

SELECT num1
from table4
WHERE suffix IN ('mt', 'dn')
GROUP BY num1
HAVING COUNT(DISTINCT suffix) = 2;

【讨论】:

  • 谢谢它有效。虽然我想知道是否有嵌套选择和别名的解决方案。比如SELECT num1 FROM (SELECT num1 from table4 WHERE suffix = 'mt' group by num1) as ident WHERE num1=ident AND suffix = 'dn';谢谢你的回复!
  • @vladpoverin 。 . .有替代解决方案。但是,您有重复项,因此无论如何您都需要GROUP BYSELECT DISTINCT。因此,您不妨只使用聚合解决方案。
  • 感谢您的回答!我的下一个问题是忽略 74 小时不同时间的后缀“dn”。因此,查找 num1 后缀“dn”晚于 72 小时到达,或者如果 num1 的 dn 直到 72 小时才到达,则找不到 num1...您有任何想法如何管理它吗?
  • @vladpoverin 。 . .问一个新的问题,提供样本数据和期望的结果。
猜你喜欢
  • 1970-01-01
  • 2011-05-16
  • 2020-12-07
  • 1970-01-01
  • 2016-05-22
  • 2011-10-23
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多