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

Truy vấn MySQL để sắp xếp các bản ghi nhưng sửa một tên cụ thể và hiển thị phần còn lại của các giá trị (chỉ một số) ngẫu nhiên

Đối với điều này, bạn có thể sử dụng ORDER BY RAND () với LIMIT. Trước tiên, hãy để chúng tôi tạo -

mysql> create table DemoTable1426
   -> (
   -> FirstName varchar(20)
   -> );
Query OK, 0 rows affected (0.59 sec)

Chèn một số bản ghi vào bảng bằng cách sử dụng chèn -

mysql> insert into DemoTable1426 values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1426 values('Adam');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1426 values('Robert');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('David');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('Sam');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng select -

mysql> select * from DemoTable1426;

Điều này sẽ tạo ra kết quả sau -

+-----------+
| FirstName |
+-----------+
| John      |
| Adam      |
| Robert    |
| David     |
| Sam       |
+-----------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để sắp xếp các bản ghi nhưng sửa một tên cụ thể và hiển thị phần còn lại của các giá trị (chỉ một số) ngẫu nhiên -

mysql> select * from DemoTable1426 order by (FirstName='Robert') desc,RAND()
   -> limit 3;

Điều này sẽ tạo ra kết quả sau -

+-----------+
| FirstName |
+-----------+
| Robert    |
| Adam      |
| David     |
+-----------+
3 rows in set (0.52 sec)