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

最後のレコードを選択して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)

  1. 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),(

  2. MySQLでグループ化して選択して合計しますか?

    合計するには、集計関数SUM()を使用します。それで、MySQLGROUPBYを使用してグループ化します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ProductName varchar(20),    -> ProductQuantity int,    -> ProductPrice int    -> ); Query OK, 0 rows affected (0.63 sec