Computer >> Máy Tính >  >> Lập trình >> MySQL

Tìm giá trị không sử dụng tối thiểu trong bảng MySQL?

Bạn có thể sử dụng LEFT JOIN để tìm giá trị không sử dụng tối thiểu trong bảng MySQL. Đầu tiên chúng ta hãy tạo một bảng

mysql> create table FindValue
   -> (
   -> SequenceNumber int
   -> );
Query OK, 0 rows affected (0.56 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into FindValue values(109);
Query OK, 1 row affected (0.14 sec)
mysql> insert into FindValue values(110);
Query OK, 1 row affected (0.15 sec)
mysql> insert into FindValue values(111);
Query OK, 1 row affected (0.13 sec)
mysql> insert into FindValue values(113);
Query OK, 1 row affected (0.13 sec)
mysql> insert into FindValue values(114);
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from FindValue;

Sau đây là kết quả

+----------------+
| SequenceNumber |
+----------------+
|            109 |
|            110 |
|            111 |
|            113 |
|            114 |
+----------------+
5 rows in set (0.00 sec)

Đây là truy vấn để tìm giá trị không sử dụng tối thiểu trong bảng MySQL

mysql> select tbl1 .SequenceNumber+1 AS ValueNotUsedInSequenceNumber
   -> from FindValue AS tbl1
   -> left join FindValue AS tbl2 ON tbl1.SequenceNumber+1 = tbl2.SequenceNumber
   -> WHERE tbl2.SequenceNumber IS NULL
   -> ORDER BY tbl1.SequenceNumber LIMIT 1;

Sau đây là kết quả

+------------------------------+
| ValueNotUsedInSequenceNumber |
+------------------------------+
|                          112 |
+------------------------------+
1 row in set (0.00 sec)