IPアドレスレコードの重複値のサブパートのみをカウントするMySQL文字列操作?
このような文字列操作には、MySQL SUBSTRING_INDEX()を使用する必要があります。まずテーブルを作成しましょう-
mysql> create table DemoTable ( SystemIpAddress text ); Query OK, 0 rows affected (0.58 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('192.168.130.67'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable values('192.168.130.87'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('192.168.131.47'); Query OK, 1 row affected (0.31 sec) mysql> insert into DemoTable values('192.168.134.50'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('192.168.131.12'); Query OK, 1 row affected (0.21 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable ;
これにより、次の出力が生成されます-
+-----------------+ | SystemIpAddress | +-----------------+ | 192.168.130.67 | | 192.168.130.87 | | 192.168.131.47 | | 192.168.134.50 | | 192.168.131.12 | +-----------------+ 5 rows in set (0.00 sec)
以下は、IPアドレスレコードの文字列操作のクエリです-
mysql> select substring_index(tbl.SystemIpAddress, '.', 3) , count(*) as Total from DemoTable tbl group by substring_index(tbl.SystemIpAddress, '.', 3) order by Total desc limit 5;
これにより、次の出力が生成されます-
+----------------------------------------------+-------+ | substring_index(tbl.SystemIpAddress, '.', 3) | Total | +----------------------------------------------+-------+ | 192.168.130 | 2 | | 192.168.131 | 2 | | 192.168.134 | 1 | +----------------------------------------------+-------+ 3 rows in set (0.00 sec)
-
MySQLのNULLおよびNOTNULLレコードを含む列からのNOTNULL値のみを表示します
このために、ISNOTNULLプロパティを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('2019-09-10'); Query OK,
-
対応する列の値からNO値のみのカウントを返すMySQLクエリ
まずテーブルを作成しましょう- mysql> create table DemoTable1829 ( Name varchar(20), isTopper ENUM('YES','NO') ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTabl