使用 SQL 查询按数据库中的相同列过滤

寻找一种按相同列从 SQL、MySQL 或 MariaDB 数据库表中过滤行的方法?寻找要在控制台上播放的查询?

我最近遇到了一种情况,需要对数据库表进行过滤,并且只显示具有两列具有相同文本值的行。经过数小时的搜索,我找到了简单的解决方案,并与您分享。

我不是程序员,而且我相信大多数寻找这些技巧的人也没有太多的代码意识。

我经常使用 Navicat 程序编辑数据库,它非常快速和方便,此外还允许您编辑行和列,与 Microsoft Excel 或 Apple Numbers 一样自由。

大多数人使用 PhpmyAdmin 来管理他们网站的数据库。两者都允许您通过 SQL 或 Query 选项卡运行脚本。

使用 SQL 查询过滤

由于我不是数据库专业人士,我不知道您可以通过查询代码显示过滤后的表,但幸运的是我发现了。

我在数据库中的使用完全是删除行,查找文本并使用 搜索和替换,我不知道 SQL 代码超级有用。

我亲自使用这些代码来检查翻译错误并在数据库表中找到未翻译的行 翻译出版社.

Filtrar por colunas idênticas em bancos de dado com sql query - sql filtro navicat

SQL查询代码

以下代码可用于:

  • 从不同的列中找到相等的行;
  • 从不同的列中找到不同的行;
  • 在两列中查找相同的内容;
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

我们刚刚看到的代码使用 其中colum01 = colum02 在两列中显示具有相同结果的行。如果需要,可以将代码扩展到更多列。

如果您想添加传统过滤器以查找某些文本,您可以在之前扩展脚本 订购方式 放一个 如下面的代码所示:

SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0; 

我们在括号中有一个代码,它只过滤第 01 列中的文本。 喜欢 查找包含过滤值的行或 不喜欢 查找不包含该值的行。

可以使用 AND 和其他代码进一步扩展该脚本。现在完成我们将显示另一个代码,但不是显示具有相等值的行,而是显示具有不同值的行使用 !=.

SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0; 

希望这段代码可以帮助您真正过滤和搜索使用常规过滤器从单独的列中具有相同或不同值的行 喜欢和不喜欢.