MySQLの列で最も発生している上位10個の値をカウントしますか?
MySQLの列で最も多く発生する上位10個の値をカウントするには、構文は次のとおりです-
SELECT yourColumnName, count(*) FROM yourTableName GROUP BY yourColumnName ORDER BY count(*) DESC LIMIT 10;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table countTop10Demo -> ( -> Value int -> ); Query OK, 0 rows affected (0.74 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
mysql> insert into countTop10Demo values(10); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(1100); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(200); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(1100); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(450); Query OK, 1 row affected (0.28 sec) mysql> insert into countTop10Demo values(600); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.16 sec) mysql> insert into countTop10Demo values(150); Query OK, 1 row affected (0.16 sec) mysql> insert into countTop10Demo values(16454); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(450); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(2350); Query OK, 1 row affected (0.10 sec) mysql> insert into countTop10Demo values(1780); Query OK, 1 row affected (0.15 sec) mysql> insert into countTop10Demo values(1345); Query OK, 1 row affected (0.22 sec) mysql> insert into countTop10Demo values(34); Query OK, 1 row affected (0.15 sec) mysql> insert into countTop10Demo values(2100); Query OK, 1 row affected (0.08 sec) mysql> insert into countTop10Demo values(19034); Query OK, 1 row affected (0.12 sec) mysql> insert into countTop10Demo values(1844); Query OK, 1 row affected (0.11 sec) mysql> insert into countTop10Demo values(34); Query OK, 1 row affected (0.08 sec) mysql> insert into countTop10Demo values(16454); Query OK, 1 row affected (0.19 sec)
これで、selectステートメントを使用してテーブルのすべてのレコードを表示できます。クエリは次のとおりです-
mysql> select *from countTop10Demo;
これが出力です-
+-------+ | Value | +-------+ | 10 | | 1100 | | 200 | | 2100 | | 1100 | | 450 | | 600 | | 2100 | | 150 | | 16454 | | 450 | | 2350 | | 1780 | | 1345 | | 34 | | 2100 | | 19034 | | 1844 | | 34 | | 16454 | +-------+ 20 rows in set (0.00 sec)
以下は、MySQLの列で最も多く発生する上位10個の値を選択するためのクエリです-
mysql> SELECT Value, count(*) -> FROM countTop10Demo -> GROUP BY Value -> ORDER BY count(*) DESC -> LIMIT 10;
これが出力です-
+-------+----------+ | Value | count(*) | +-------+----------+ | 2100 | 3 | | 1100 | 2 | | 34 | 2 | | 450 | 2 | | 16454 | 2 | | 1780 | 1 | | 200 | 1 | | 1345 | 1 | | 19034 | 1 | | 600 | 1 | +-------+----------+ 10 rows in set (0.00 sec)
-
MySQLで列の値をシャッフルしますか?
要素をシャッフルするには、ORDER BY RAND()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable1557 -> ( -> SubjectId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> SubjectName varchar(20) -> ); Query OK, 0 rows affected (0.91 sec) 挿入コマンド-を使用して
-
特定の列値の単一のMySQLクエリで複数のカウントを取得する
このために、特定の列のパラメーター値とともに集計関数sum()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1790 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows affected (0.94