MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

独自のMySQLクエリ内で値の合計オカレンスを取得するにはどうすればよいですか?


このために、サブクエリを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Value int
   -> );
Query OK, 0 rows affected (0.61 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.36 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable values(40);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

出力

これにより、次の出力が生成されます-

+-------+
| Value |
+-------+
|    20 |
|    30 |
|    20 |
|    40 |
|    30 |
|    20 |
+-------+
6 rows in set (0.00 sec)

以下は、値の合計オカレンスを取得するためのクエリです-

mysql> select tbl.Value,(SELECT COUNT(*) from DemoTable where Value = tbl.Value) AS Occurrence from DemoTable tbl;

出力

これにより、次の出力が生成されます-

+-------+------------+
| Value | Occurrence |
+-------+------------+
| 20    | 3          |
| 30    | 2          |
| 20    | 3          |
| 40    | 1          |
| 30    | 2          |
| 20    | 3          |
+-------+------------+
6 rows in set (0.00 sec)

  1. MySQLクエリを使用して4番目に高い値を取得するにはどうすればよいですか?

    4番目に高い値を取得するには、ORDERBYとともにLIMITOFFSETを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    Amount int ); Query OK, 0 rows affected (0.88 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(980); Query OK, 1 row affected (0.15 sec) mysql> insert into Dem

  2. 時間差を取得する方法を確認するためのMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable1570    -> (    -> ArrivalTime datetime    -> ); Query OK, 0 rows affected (0.87 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1570 values('2019-10-15 5:10:00'); Query OK, 1 row af