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

特定のレコードの値をゼロに減らすためのMySQLクエリ?


SETを使用して値を減らし、WHEREを使用して特定のレコードの条件を0に設定します。最初にテーブルを作成します-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int
   );
Query OK, 0 rows affected (0.54 sec)

挿入コマンド&minus

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(Number) values(10);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable(Number) values(20);
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(Number) values(1);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable(Number) values(0);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable(Number) values(-1);
Query OK, 1 row affected (0.39 sec)

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

mysql> select *from DemoTable;

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

+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      1 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+
5 rows in set (0.00 sec)

以下は、値を0に減らすためのクエリです-

mysql> update DemoTable
   set Number = Number-1
   where Id = 3 AND Number > 0;
Query OK, 1 row affected (0.20 sec)
Rows matched: 1 Changed: 1 Warnings: 0

テーブルレコードをもう一度表示しましょう-

mysql> select *from DemoTable;

これにより、次の出力が生成されます。ここで、Id 3のレコードは1だけデクリメントしたため、0になります-

+----+--------+
| Id | Number |
+----+--------+
|  1 |     10 |
|  2 |     20 |
|  3 |      0 |
|  4 |      0 |
|  5 |     -1 |
+----+--------+
5 rows in set (0.00 sec)

  1. 最大累積値をフェッチするMySQLクエリ

    このためには、サブクエリとともに集計関数COUNT(*)を使用します。 GROUPBYも使用されます。 テーブルを作成しましょう- mysql> create table demo23 −> ( −> id int not null auto_increment primary key, −> value1 int, −> value2 int −> ); Query OK, 0 rows affected (1.65 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します

  2. MySQLの特定の値に対して低い値のレコード以外のレコードを選択するにはどうすればよいですか?

    このためには、WHERE句を使用する必要があります。以下は構文です- select *from yourTableName where yourColumnName > yourValue; テーブルを作成しましょう- mysql> create table demo27 −> ( −> id int not null auto_increment primary key, −> value int −> ); Query OK, 0 rows affected (3.14 sec) 挿入コマンド-を使用し