mysql - 仅选择表中存在的所有记录一次

标签 mysql sql select

我的意思并不是只选择一次重复的记录。 相反,我不会从表中选择那些不重复的记录。记录仅在表中出现一次。

例如: 表 cat_prod 中有列 id_category 和 id_product。 一种产品可以属于多个类别。 我怎样才能只选择那些只属于一个类别的产品?

最佳答案

SELECT id_product
FROM cat_prod
GROUP BY id_product
HAVING count(distinct id_category) = 1

您可以按产品 ID 进行分组,并仅选择 HAVING 子句中具有 COUNT(*) = 1 的产品。

关于mysql - 仅选择表中存在的所有记录一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7220389/

相关文章:

mysql - 买了这个的顾客也买了这个...求助

php - 选择相互关注者

bash - 使用 select 会产生语法错误

sql server select 与 like 连接?

python - 选择多个文件。 Python

mysql - 交易后删除关系中的记录

mysql - 为什么我们需要 SQL 的游标?

mysql - 如何保持 ActiveRecord 关联 DRY?

sql - 识别是否存在至少具有给定条件的一行

mysql - 如何使用sql update在mysql中编辑多条记录