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

MySQLのSELECTクエリで正・負の値をGROUP BYする方法

正・負の値をGROUP BYするための構文

MySQLのSELECTクエリにおいて、正または負の値を基準にGROUP BYを行いたい場合は、以下の構文を使用します。

select *from yourTableName group by -yourColumnName;

GROUP BY句には列名だけでなく式を指定することもできます。そのため、列名の前にマイナス記号(-)を付けた「-yourColumnName」のように記述すれば、符号を反転させた値をグループ化のキーとして扱うことが可能です。

サンプルテーブルの作成

まず、動作確認用のテーブルを作成しましょう。

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

レコードの挿入

次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。ここでは正の値と負の値を混在させて登録しています。

mysql> insert into DemoTable values(-10);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(-20);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(-10);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(-10);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(-20);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(-30);
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.12 sec)

登録済みレコードの確認

SELECTコマンドを実行して、テーブル内のレコードを表示してみましょう。

mysql> select *from DemoTable;

上記のクエリを実行すると、次のような出力が得られます。

+-------+
| Value |
+-------+
|   -10 |
|   -20 |
|    20 |
|    10 |
|   -10 |
|   -10 |
|   -20 |
|   -30 |
|    30 |
+-------+
9 rows in set (0.00 sec)

正・負の値によるGROUP BYの実行

それでは、「-Value」を指定してグループ化を行うクエリを実行してみます。

mysql> select *from DemoTable group by -Value;

実行結果は以下のとおりです。

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

このように、重複していた値(例:-10 や -20)がそれぞれ1つのグループにまとめられ、元の9件のレコードが6件のグループに集約されていることがわかります。GROUP BY句に式を渡すテクニックは、このように符号を反転させた値や、その他の計算結果をキーとしてグループ化したい場合に役立ちます。

  1. Facebookグループを退会する方法【PC・スマホアプリ両対応】

    ポイント PCの場合: グループページを開き、右上の三点メニューから「グループを退会」を選択します。 スマホアプリの場合: グループページにアクセスし、三点メニューから「グループを退会」をタップします。 退会メニューでは、退会せずに通知だけオフにすることも可能です。 この記事では、PCおよびスマートフォンからFacebookグループを退会する手順をわかりやすく解説します。グループの通知が多すぎて困っている場合や、グループの雰囲気が自分に合わないと感じたときにぜひ参考にしてください。 PCでFacebookグループを退会する方法 以下の手順は、OSの種類に関係なく、どのブラウザでも同じよう

  2. JavaScriptで正と負の無限大(Infinity)の値を出力する方法

    JavaScriptで扱える数値には上限があり、その範囲を超えた演算結果は特別な値「Infinity」(正の無限大)または「-Infinity」(負の無限大)として出力されます。この記事では、実際に正と負の無限大の値を画面に出力するサンプルコードを紹介します。 JavaScriptにおける無限大(Infinity)とは JavaScriptの数値型はIEEE 754で定められた倍精度浮動小数点数で、表現できる最大値は Number.MAX_VALUE(約1.79×10308)です。演算結果がこの最大値を超えると、エラーにはならずグローバルプロパティの Infinity が返されます。 正の方