Hôm nay, chúng ta sẽ khám phá ba kịch bản và giải pháp của chúng khi chúng ta muốn chọn hàng đầu tiên từ bảng MySQL
Trong kịch bản đầu tiên, chúng ta sẽ học cách tìm nạp hàng đầu tiên từ bảng MySQL nơi một cột cụ thể có nhiều phiên bản. Chẳng hạn, chọn hàng đầu tiên từ bảng
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
7 trong đó +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 là +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
9Trong kịch bản thứ hai, chúng tôi sẽ chọn hàng đầu tiên trong mỗi nhóm của bảng. Ở đây, chúng ta cũng sẽ xem cách truy xuất dữ liệu đối với các nhóm. Trong kịch bản thứ ba, chúng ta sẽ xem cách lấy hàng đầu tiên từ toàn bộ bảng MySQL
Trước khi đi sâu vào các ví dụ về mã, hãy tạo một bảng
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
0 với các trường SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
0, +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 và SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
3 trong đó SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
0 là khóa chínhCác truy vấn để tạo và điền vào bảng này được đưa ra dưới đây. Bạn cũng có thể sử dụng những
mã ví dụ
________số 8
đầu ra
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
Sử dụng Mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 để truy xuất hàng đầu tiên từ bảng MySQL trong đó một cột có nhiều trường hợp
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
Chúng tôi có một phiên bản của
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
9, một phiên bản của SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
7, hai phiên bản của SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
8 và ba phiên bản của SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
9 trong cột +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 của bảng +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
7. Bạn có thể sử dụng câu lệnh +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
72 để xem dữ liệu bảng hiện tạiThực hiện câu lệnh sau để lấy hàng đầu tiên từ bảng
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
7 trong đó +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 là SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
9Truy vấn
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
đầu ra
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
7Giả sử chúng ta muốn lấy bản ghi thứ ba trong đó
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 là SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
9. Chúng tôi sử dụng mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 với hai đối số [được giải thích sau trong hướng dẫn này]Truy vấn
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
6đầu ra
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
7Giả sử chúng tôi muốn lấy hai bản ghi đầu tiên trong đó
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 là SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
9. Chúng ta có thể làm điều đó như sauTruy vấn
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
0đầu ra
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
1Chúng tôi cũng có thể lấy hai bản ghi cuối cùng có tên
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
8 là SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
9. Chúng ta sử dụng mệnh đề +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
63 với mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5Truy vấn
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
6đầu ra
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
7Ở đây, điều quan trọng là phải hiểu vai trò của mệnh đề
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 và +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
63. Mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 được sử dụng với câu lệnh +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
72 để lấy một số bản ghi nhất định từ một bảngMệnh đề
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 nhận một hoặc hai đối số phải là số nguyên dương hoặc số không. Sau đây là cú pháp của mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 với một và hai đối sốcú pháp
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
0+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
71 hiển thị số lượng bản ghi tối đa được trả về, trong khi +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
72 được sử dụng khi chúng tôi muốn truy xuất một phạm vi bản ghi cụ thể, ví dụ: từ +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
72 2 đến +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
71 4. Hãy nhớ rằng +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
72 của hàng đầu tiên không phải là 1 mà là 0Xem hình minh họa sau
Hãy nhớ rằng,
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
76 và +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
77 tương đương với nhau. Tùy thuộc vào yêu cầu của dự án, mệnh đề +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
63 sắp xếp dữ liệu bảng theo thứ tự giảm dần hoặc tăng dầnSử dụng +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
79, SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
00 và SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
01 để lấy hàng đầu tiên trong mỗi nhóm từ bảng MySQL
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
Kịch bản thứ hai này sẽ chọn và lấy hàng đầu tiên trong mỗi nhóm từ bảng bằng cách sử dụng các hàm
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
79 và SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
00 và mệnh đề SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
01mã ví dụ
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
1đầu ra
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
2Ví dụ này sử dụng các hàm và mệnh đề khác nhau để nhận được kết quả mong muốn
79 - Hàm này cho phép chúng tôi chỉ định nhiều giá trị trong mệnh đề+------------+------------+-------------+ | manager_id | first_name | last_name | +------------+------------+-------------+ | 1 | Mehvish | Ashiq | | 2 | Saira | Mushtaq | | 3 | Thomas | Christopher | | 4 | Thomas | Gabrial | | 5 | Tahir | Raza | | 6 | Saira | Johny | | 7 | Saira | Daniel | +------------+------------+-------------+ 7 rows in set [0.00 sec]
06. Nó trả vềSELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
07 nếu một biểu thức bằng với bất kỳ giá trị danh sáchSELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
79 nào+------------+------------+-------------+ | manager_id | first_name | last_name | +------------+------------+-------------+ | 1 | Mehvish | Ashiq | | 2 | Saira | Mushtaq | | 3 | Thomas | Christopher | | 4 | Thomas | Gabrial | | 5 | Tahir | Raza | | 6 | Saira | Johny | | 7 | Saira | Daniel | +------------+------------+-------------+ 7 rows in set [0.00 sec]
01 - Nó nhóm các bản ghi chứa các giá trị giống nhau, chủ yếu được sử dụng với các hàm tổng hợp, ví dụ:SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
00,SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
11,SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
12, v.v.SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
00 - Nó trả về giá trị thấp nhất của một thuộc tính [cột] trong truy vấnSELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
- Truy vấn con - Nó được lồng bên trong một truy vấn khác, ví dụ:
72,+------------+------------+-------------+ | manager_id | first_name | last_name | +------------+------------+-------------+ | 1 | Mehvish | Ashiq | | 2 | Saira | Mushtaq | | 3 | Thomas | Christopher | | 4 | Thomas | Gabrial | | 5 | Tahir | Raza | | 6 | Saira | Johny | | 7 | Saira | Daniel | +------------+------------+-------------+ 7 rows in set [0.00 sec]
15,SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
16, v.v. Chúng ta cũng có thể lồng một truy vấn con vào một truy vấn con khác [chúng ta cần hiểu thứ tự thực hiện của các mệnh đề khác nhau]SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
Sử dụng SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5 và +------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
63 để chọn hàng đầu tiên từ toàn bộ bảng MySQL
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
+------------+------------+-------------+
| manager_id | first_name | last_name |
+------------+------------+-------------+
| 1 | Mehvish | Ashiq |
| 2 | Saira | Mushtaq |
| 3 | Thomas | Christopher |
| 4 | Thomas | Gabrial |
| 5 | Tahir | Raza |
| 6 | Saira | Johny |
| 7 | Saira | Daniel |
+------------+------------+-------------+
7 rows in set [0.00 sec]
Chọn hàng đầu tiên từ toàn bộ bảng bất kể thứ tự và điều kiện bằng cách sử dụng mệnh đề
SELECT * FROM manager WHERE first_name = 'Saira' LIMIT 1;
5