3つの異なる列からMySQLの最大値を取得しますか?
3つの異なる列から最大値を取得するには、GREATEST()関数を使用します。
構文は次のとおりです
SELECT GREATEST(yourColumnName1,yourColumnName2,yourColumnName3) AS anyAliasName FROM yourTableName;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table MaxOfThreeColumnsDemo -> ( -> First int, -> Second int, -> Third int -> ); Query OK, 0 rows affected (0.73 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。
クエリは次のとおりです
mysql> insert into MaxOfThreeColumnsDemo values(30,90,60); Query OK, 1 row affected (0.16 sec) mysql> insert into MaxOfThreeColumnsDemo values(100,40,50); Query OK, 1 row affected (0.20 sec) mysql> insert into MaxOfThreeColumnsDemo values(101,290,150); Query OK, 1 row affected (0.22 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示します。
クエリは次のとおりです
mysql> select *from MaxOfThreeColumnsDemo;
以下は出力です
+-------+--------+-------+ | First | Second | Third | +-------+--------+-------+ | 30 | 90 | 60 | | 100 | 40 | 50 | | 101 | 290 | 150 | +-------+--------+-------+ 3 rows in set (0.00 sec)
3つの列のうち最大のものを見つけるためのクエリは次のとおりです
mysql> select greatest(First,Second,Third) AS MAXValueOfThreeColumns from MaxOfThreeColumnsDemo;
以下は出力です
+------------------------+ | MAXValueOfThreeColumns | +------------------------+ | 90 | | 100 | | 290 | +------------------------+ 3 rows in set (0.00 sec)
-
MySQLのVARCHAR列から最大値を見つける
最大値を見つけるには、値がVARCHARタイプであるため、CAST()とともにMAX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2030 -> ( -> Value varchar(20) -> ); Query OK, 0 rows affected (0.44 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2030 values(&
-
最大累積値をフェッチするMySQLクエリ
このためには、サブクエリとともに集計関数COUNT(*)を使用します。 GROUPBYも使用されます。 テーブルを作成しましょう- mysql> create table demo23 −> ( −> id int not null auto_increment primary key, −> value1 int, −> value2 int −> ); Query OK, 0 rows affected (1.65 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します