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)
-
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) 挿入コマンド-を使用して、テーブルにいくつかのレコ
-
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