当前位置: 首页 > 面试题库 >

MySQL:如何选择具有特定值的组?

龙永思
2023-03-14
问题内容

说有这样的表:

mysql> SELECT * FROM tags;
+---------+--------+
| post_id | tag_id |
+---------+--------+
|       1 |      2 |
|       1 |      3 |
|       1 |      1 |
|       2 |      1 |
|       2 |      2 |
+---------+--------+
5 rows in set (0.00 sec)

字段名称很容易解释。我想选择post_id同时具有1和3 tag_id的,因此在此示例中仅1。我想到了类似的 SELECT post_id FROM tags GROUP BY post_id HAVING ...清单tag_id,之后我想列出该组中存在的。我怎么做?


问题答案:

如果没有任何唯一约束,请尝试:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(DISTINCT tag_id) = 2;

HAVING如果仅尝试检测两个tag_id值,请使用此子句:

HAVING MIN(tag_id) <> MAX(tag_id)

如果post_id和tag_id都具有唯一约束,那么这也应该起作用:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(*) = 2;


 类似资料:
  • 问题内容: 在XML文档中,我具有共享相同名称的元素,但是属性的值定义了它是什么类型的数据,并且我想从文档中选择所有具有特定值的元素。我是否需要使用XPath(如果可以,您是否可以建议正确的语法)还是有更优雅的解决方案? 这是一些示例XML: 我想选择类型为的所有子代标签的内容。 PS-我正在尝试使用PHP与Netflix API进行接口-这对我的问题无关紧要,但是如果您想提出一种更好的方法,我非

  • 我有一个带有数组列的数据帧: 我读了这个CSV,并将“类”列的值转换成数组: 现在我想选择“类”值中具有“performer_0”的行。像这样: 但是这个代码不起作用: 回溯(最后一次调用):文件“d:\pyenv\pandas\lib\site packages\pandas\core\indexes\base.py”,第2657行,在get_loc return self.\u engine.

  • 问题内容: 我的表是: 我想列出一组具有相同疾病的患者。pid和did分别是患者和疾病表中的主键,并且是has_disease表中的外键。 样本数据: 耐心 疾病 has_disease 以上数据的答案是因为它们具有完全相同的疾病1和3,即疟疾和病毒热。我想知道如何在mysql中实现这一点。 。 问题答案: 该查询返回给我们患者及其疾病。 通过完整的剂量列表比较2组患者,并将pid保留为相同的剂量

  • 我对SQL并不陌生,但我对Hibernate完全陌生。我预计,给定一个列值,从表中选择一组对象将是一项非常简单的任务。但我做不到。 我的导师和下面的这个问题都建议了同样的事情,这让我写了下面的代码: JPA:如何基于除ID之外的字段值获取实体? 这是可行的,但方法是已被弃用。由于我对hibernate还不熟悉,我不妨按照它的预期工作方式来学习它,所以我不想使用不推荐的方法。 官方的Hibernat

  • 问题内容: 如何在 不引用 SQL表达式中的 特定列的情况下 选择所有可能包含已知特定值的记录? 例如,我知道,某个 未知 列包含值“ xxx”,并且表中有 许多列 和记录。 谢谢你。 问题答案: 因此,您想对数据库进行类似于Google的免费文本搜索。可以做到,但表演将是Teh Suck!Google之所以快速,是因为它在其索引上具有索引,重复的数据存储,并且通常针对这种搜索进行总体优化。 无论

  • 嗨,我有以下XML 标准是只复制“item-name”属性值为TShert、Ball或Bat的位置。所以生成的XML应该看起来像 我正在使用以下XSLT 但这不起作用。你能帮忙吗? 谢谢Nathan