最後のレコードを選択してMySQLで更新しますか?
このために、ORDER BYDESCLIMITを使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.59 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(Name) values('John'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable(Name) values('Sam'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable(Name) values('Carol'); Query OK, 1 row affected (0.34 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
出力
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Sam | | 3 | Carol | +----+-------+ 3 rows in set (0.00 sec)
以下は、最後のレコードを選択して更新するためのクエリです-
mysql> update DemoTable -> set Name='Robert' -> order by Id DESC limit 1; Query OK, 1 row affected (0.18 sec) Rows matched: 1 Changed: 1 Warnings: 0
テーブルレコードをもう一度確認しましょう-
mysql> select *from DemoTable;
これにより、最後のレコードが正常に更新されたことを示す次の出力が生成されます-
出力
+----+--------+ | Id | Name | +----+--------+ | 1 | John | | 2 | Sam | | 3 | Robert | +----+--------+ 3 rows in set (0.00 sec)
-
MySQLから最後の10行を選択するにはどうすればよいですか?
MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(
-
MySQLでグループ化して選択して合計しますか?
合計するには、集計関数SUM()を使用します。それで、MySQLGROUPBYを使用してグループ化します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> ProductName varchar(20), -> ProductQuantity int, -> ProductPrice int -> ); Query OK, 0 rows affected (0.63 sec