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

MySQLの2つ以上のフィールドからの最大値?


2つ以上のフィールドから最大値を知るには、MySQLの関数GREATEST()を使用します。

構文は次のとおりです-

SELECT GREATEST(MAX(yourColumnName1),MAX(yourColumnName2),...............MAX(yourColumnName2) ) from yourTableName;

3つ以上の列を持つテーブルを作成して上記の概念を理解しましょう-

mysql> create table GreatestOfTwoOrMore
   -> (
   -> Marks1 int,
   -> Marks2 int,
   -> Marks3 int
   -> );
Query OK, 0 rows affected (0.57 sec)

これがテーブルにレコードを挿入するためのクエリです-

mysql> insert into GreatestOfTwoOrMore values(23,78,89);
Query OK, 1 row affected (0.16 sec)
mysql> insert into GreatestOfTwoOrMore values(50,100,150);
Query OK, 1 row affected (0.24 sec)
mysql> insert into GreatestOfTwoOrMore values(100,500,2000);
Query OK, 1 row affected (0.15 sec)

次のクエリを使用して、上に挿入されたすべての値を表示します-

mysql> select *from GreatestOfTwoOrMore;

以下は出力です-

+--------+--------+--------+
| Marks1 | Marks2 | Marks3 |
+--------+--------+--------+
|     23 |     78 |     89 |
|     50 |    100 |    150 |
|    100 |    500 |   2000 |
+--------+--------+--------+
3 rows in set (0.00 sec)

次のクエリを使用して上記の概念を実装し、2つ以上のフィールドから最大の値を取得しましょう。

クエリは次のとおりです-

mysql> SELECT GREATEST(MAX(marks1),MAX(marks2),MAX(marks3)) from GreatestOfTwoOrMore;

以下は出力です-

+-----------------------------------------------+
| GREATEST(MAX(marks1),MAX(marks2),MAX(marks3)) |
+-----------------------------------------------+
|                                          2000 |
+-----------------------------------------------+
1 row in set (0.06 sec)

  1. すべての列の値から最後の2つの単語を削除するMySQLクエリ

    このために、MySQLのLEFT()関数を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(10)    -> ); Query OK, 0 rows affected (0.71 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row

  2. 重複するIDから対応する最大値をフェッチするためのMySQL行の連結?

    このために、GROUPBY句を使用できます。最大値を見つけるには、MAX()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1804      (      Id int,      Marks1 int,      Marks2 int,      Marks3 int      ); Query OK, 0 rows affected (0.00