MySQLで行の値を1つ減らしますか?
MySQLでは、UPDATEコマンドを使用して行の値を1ずつ増減できます。構文は次のとおりです-
UPDATE yourTableName set yourColumnName = yourColumnName-1 where condition;
行の値を1つ減らすテーブルを作成しましょう。以下はクエリ-
です。mysql> create table IncrementAndDecrementValue −> ( −> UserId int, −> UserScores int −> ); Query OK, 0 rows affected (0.60 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
mysql> insert into IncrementAndDecrementValue values(101,20000); Query OK, 1 row affected (0.13 sec) mysql> insert into IncrementAndDecrementValue values(102,30000); Query OK, 1 row affected (0.20 sec) mysql> insert into IncrementAndDecrementValue values(103,40000); Query OK, 1 row affected (0.11 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from IncrementAndDecrementValue;
以下は出力です;
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 20000 | | 102 | 30000 | | 103 | 40000 | +--------+------------+ 3 rows in set (0.00 sec)
これは、where条件でUserScores値を1減らすためのクエリです。
mysql> update IncrementAndDecrementValue set UserScores = UserScores-1 where UserId = 103; Query OK, 1 row affected (0.41 sec) Rows matched: 1 Changed: 1 Warnings: 0
値が更新されているかどうかを確認しましょう。クエリは次のとおりです-
mysql> select *from IncrementAndDecrementValue;
以下は、行の値を正常にデクリメントしたことを示す出力です-
+--------+------------+ | UserId | UserScores | +--------+------------+ | 101 | 20000 | | 102 | 30000 | | 103 | 39999 | +--------+------------+ 3 rows in set (0.00 sec)
-
列の値を置き換えるMySQLクエリ
まずテーブルを作成しましょう- mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Score int ); Query OK, 0 rows affected (0.45 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec)
-
MySQLでN番目の最大値を見つけるためのクエリ
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.26 sec) mysql> insert into Demo