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

MySQLで対応する重複する列値を持つ列から最小行値を選択します


まずテーブルを作成しましょう-

mysql> create table DemoTable1875
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Class varchar(20),
   Amount int
   );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1875(Class,Amount) values('X',750);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1875(Class,Amount) values('X',140);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1875(Class,Amount) values('X',450);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1875(Class,Amount) values('Y',6780);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1875(Class,Amount) values('Z',1350);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1875(Class,Amount) values('Z',2050);
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1875;

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

+----+-------+--------+
| Id | Class | Amount |
+----+-------+--------+
|  1 | X     |    750 |
|  2 | X     |    140 |
|  3 | X     |    450 |
|  4 | Y     |    6780 |
|  5 | Z     |    1350 |
|  6 | Z     |    2050 |
+----+-------+--------+
6 rows in set (0.00 sec)

以下は、行を選択するためのクエリです

mysql> select Class,Min(Amount) from DemoTable1875 group by Class;

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

+-------+-------------+
| Class | Min(Amount) |
+-------+-------------+
| X     |         140 |
| Y     |        6780 |
| Z     |        1350 |
+-------+-------------+
3 rows in set (0.00 sec)

  1. MySQLの対応する重複IDを持つ列(浮動値)から最小値を取得します

    対応する重複IDを持つ列から最小値を取得するには、GROUP BYおよびMIN()-を使用します select min(yourColumnName) from yourTableName group by yourColumnName; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2005 (    Id int,    Price float ); Query OK, 0 rows affected (0.71 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコ

  2. MySQLで選択した値が「0」の場合は別の列から選択しますか?

    これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int