MySQL COUNT()とDISTINCTを一緒に使用できますか?
はい、COUNT()とDISTINCTを一緒に使用して、個別の行のみのカウントを表示できます。
構文は次のとおりです-
SELECT COUNT(DISTINCT yourColumnName) AS anyVariableName FROM yourTableName;
上記の構文を理解するために、テーブルを作成しましょう。
テーブルを作成するためのクエリは次のとおりです-
mysql> create table CountDistinctDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (3.11 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
mysql> insert into CountDistinctDemo(Name) values('Carol'); Query OK, 1 row affected (0.48 sec) mysql> insert into CountDistinctDemo(Name) values('Bob'); Query OK, 1 row affected (0.43 sec) mysql> insert into CountDistinctDemo(Name) values('Carol'); Query OK, 1 row affected (0.26 sec) mysql> insert into CountDistinctDemo(Name) values('John'); Query OK, 1 row affected (0.27 sec) mysql> insert into CountDistinctDemo(Name) values('Bob'); Query OK, 1 row affected (0.35 sec) mysql> insert into CountDistinctDemo(Name) values('Carol'); Query OK, 1 row affected (0.98 sec) mysql> insert into CountDistinctDemo(Name) values('John'); Query OK, 1 row affected (0.26 sec) mysql> insert into CountDistinctDemo(Name) values('Sam'); Query OK, 1 row affected (0.14 sec) mysql> insert into CountDistinctDemo(Name) values('Mike'); Query OK, 1 row affected (0.53 sec) mysql> insert into CountDistinctDemo(Name) values('Carol'); Query OK, 1 row affected (0.31 sec) mysql> insert into CountDistinctDemo(Name) values('David'); Query OK, 1 row affected (0.40 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。
クエリは次のとおりです。
mysql> select *from CountDistinctDemo;
以下は出力です。
+----+-------+ | Id | Name | +----+-------+ | 1 | Carol | | 2 | Bob | | 3 | Carol | | 4 | John | | 5 | Bob | | 6 | Carol | | 7 | John | | 8 | Sam | | 9 | Mike | | 10 | Carol | | 11 | David | +----+-------+ 11 rows in set (0.07 sec)
DISTINCTを使用しない場合、COUNT()関数はすべての行の数を示します。
クエリは次のとおりです-
mysql> select count(Name) as TotalName from CountDistinctDemo;
以下は出力です-
+-----------+ | TotalName | +-----------+ | 11 | +-----------+ 1 row in set (0.04 sec)
COUNT()とDISTINCTを一緒に使用するためのクエリは次のとおりです-
mysql> SELECT COUNT(DISTINCT Name) as UniqueName FROM CountDistinctDemo;
以下は出力です
+------------+ | UniqueName | +------------+ | 6 | +------------+ 1 row in set (0.00 sec)
-
単一のMySQLクエリで、ゼロ、NULL、およびゼロとNULLを除く個別の値をカウントします
まずテーブルを作成しましょう- mysql> create table DemoTable( Value int ); Query OK, 0 rows affected (1.35 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.30 sec) mysql> insert into DemoTable values(NULL); Query OK, 1 row affected (
-
MySQLクエリで「LIKEconcat()」を使用できますか?
はい、できます。まずテーブルを作成しましょう- mysql> create table DemoTable ( Name varchar(50) ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('