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

MySQLのユーザー定義変数値に最も近いテーブルからレコードを返すにはどうすればよいですか?


まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ProductAmount int
);
Query OK, 0 rows affected (0.61 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(ProductAmount) values(5000);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(ProductAmount) values(6000);
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable(ProductAmount) values(7000);
Query OK, 1 row affected (0.26 sec)

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

mysql> select *from DemoTable;

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

+------------+---------------+
| CustomerId | ProductAmount |
+------------+---------------+
|          1 |          5000 |
|          2 |          6000 |
|          3 |          7000 |
+------------+---------------+
3 rows in set (0.00 sec)

以下は、最も近い値を返すためのクエリです。ここでは、値6990のユーザー定義変数を設定しました。したがって、6990-

に最も近いレコードをフェッチする必要があります。
mysql> set @value=6990;
Query OK, 0 rows affected (0.00 sec)
mysql> select ProductAmount from DemoTable order by ABS(ProductAmount-@value) LIMIT 1;

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

+---------------+
| ProductAmount |
+---------------+
|          7000 |
+---------------+
1 row in set (0.00 sec)

  1. MySQLで自動インクリメント値を1から開始するように設定するにはどうすればよいですか?

    テーブルを切り捨てて、MySQLでauto_increment値を1から開始するように設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY ); Query OK, 0 rows affected (1.44 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(); Query OK, 1 row aff

  2. PythonでMySQLを使用してテーブルからレコードを削除するにはどうすればよいですか?

    テーブルから特定の行を削除する必要がある場合があります。クラスの生徒の詳細の表があるとします。生徒の1人がクラスを離れた可能性があるため、その特定の生徒の詳細は必要ありません。したがって、その特定の行またはレコードをテーブルから削除する必要があります。 MySQLの「DELETEFROM」ステートメントは、テーブルから行またはレコードを削除するために使用されます。「WHERE」句は、削除する行を指定するために使用されます。 WHERE句を使用しない場合、すべてのレコードが削除されます。 構文 すべての行を削除 − DELETE FROM table_name 特定の行を削除する −