MySQL 消除 Distinct/Group By 之外的重复项

标签 mysql sql

我意识到distinct或group by可以消除重复项,但我想更进一步。有没有一种简单的方法,如果字段不唯一,则根本不显示它?我想要零行具有非唯一值,而不是简单地将其汇总为一行。

我可能可以为此编写一个存储过程,但我希望有一种更简单的方法。

最佳答案

您可以使用countgroup byhaving来找出唯一的值,然后使用IN 获取相应的行:

select *
from your_table
where col in (
        select col
        from your_table
        group by col
        having count(*) = 1
        );

关于MySQL 消除 Distinct/Group By 之外的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42228202/

相关文章:

php - 使用 INNER JOIN、GROUP BY 和 Max 的 MySql 查询

sql - 如何将整个 Excel 列分配给 Access 上 VBA 内的变量?

mysql - sql查询是否正确?

SQL查询: Select max value of subselect

sql - 最近邻居的 Postgis SQL

php - 如何在 PhpMyadmin 中将最大可查看表从 250 更改为任何值?

mysql - 从同一张表中选择计数

php - ajax POST 操作成功后数据库中没有任何反应

php - 从 DB PHP 生成一个包含 <td> 值的表行

SQL/Redshift : Querying user behaviour before first purchase