SQL、MySQL、または MariaDB データベース テーブルの行を同一の列でフィルタリングする方法をお探しですか?コンソールでプレイするクエリをお探しですか?
私は最近、データベース テーブルをフィルター処理して、同じテキスト値を持つ 2 つの列を持つ行のみを表示する必要があるという状況に遭遇しました。何時間も検索した後、簡単な解決策を見つけたので、それをあなたと共有しています.
私はプログラマーではありません。また、これらのヒントを探しているほとんどの人は、それほどコードの感覚も持っていないと思います。
私はよく Navicat プログラムを使用してデータベースを編集します。Microsoft Excel や Apple Numbers と同じくらい自由に行と列を編集できることに加えて、非常に高速で実用的です。
ほとんどの人は、PhpmyAdmin を使用して Web サイトのデータベースを管理しています。どちらも、[SQL] または [クエリ] タブからスクリプトを実行できます。
SQL クエリを使用してフィルタリングする
私はデータベースの専門家ではないので、クエリ コードを使用してフィルター処理されたテーブルを表示できることを知りませんでしたが、幸いにもわかりました。
私のデータベースの使用は完全に行を削除し、テキストを検索し、検索と置換を使用するためのものです。SQLコードが非常に便利だとは全く知らなかった。
私は個人的に、これらのコードを使用して翻訳エラーを確認し、データベースのテーブルで翻訳されていない行を見つけました Translatepress。
SQL クエリ コード
以下のコードは、次の場合に役立ちます。
- 異なる列から等しい行を見つけます。
- 異なる列から異なる行を見つけます。
- 2 つの列で等しいコンテンツを検索します。
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
私たちが見たコードは、WHERE colum01 = colum02 を使用して、2つの列に同じ結果を持つ行を表示します。コードは、必要に応じてさらに多くの列に拡張できます。
特定のテキストを見つけるために従来のフィルタを追加したい場合は、以下のコードのようにORDER BYの前にANDを追加してスクリプトを拡張できます:
SELECT * FROM `databasename`.`tablename` WHERE colum01 = colum02 AND (`colum01` LIKE '%text%') ORDER BY `id` LIMIT 500 OFFSET 0;
ANDの後には、列01のみでテキストをフィルタリングするための括弧内のコードがあります。フィルタリングされた値を含む行を見つけるにはLIKEを使用し、値を含まない行を見つけるにはNOT LIKEを使用します。
このスクリプトは、AND およびその他のコードを使用してさらに拡張できます。最後に、別のコードを表示しますが、値が等しい行を表示する代わりに、 を使用して値が異なる行を表示します
SELECT * FROM `databasename`.`tablename` WHERE colum01 != colum02 ORDER BY `id` LIMIT 500 OFFSET 0;
このコードが、通常のフィルタ LIKE と NOT LIKE を使用して、異なる列の値が同じまたは異なる行を実際にフィルタリングして検索するのに役立つことを願っています。