特定のレコードの値をゼロに減らすための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)
-
最大累積値をフェッチする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) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します
-
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) 挿入コマンド-を使用し