Hướng dẫn select the first row in mysql - chọn hàng đầu tiên trong mysql

44

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Nếu tôi có một truy vấn như

select * from tbl_foo where name = 'sarmen'

Và bảng này có nhiều phiên bản của name = sarmen Làm cách nào tôi có thể gán số hàng cho mỗi hàng mà không phải tạo một cột mà tự động tự động? Tôi có một lý do cho những gì tôi đang làm và không cần một col tự động trong ví dụ của tôi.

Vì vậy, nếu mỗi hàng được chỉ định một số hàng ảo thông qua SQL hoặc có thể PHP, tôi sẽ có thể in ra hàng đầu tiên hoặc hàng cuối cùng bất cứ lúc nào tôi cần.

thnx

hỏi ngày 9 tháng 7 năm 2010 lúc 23:59Jul 9, 2010 at 23:59

Hướng dẫn select the first row in mysql - chọn hàng đầu tiên trong mysql

0

Để chỉ trả về một hàng, hãy sử dụng LIMIT 1:

SELECT *
FROM tbl_foo
WHERE name = 'sarmen'
LIMIT 1

Không có ý nghĩa gì khi nói 'hàng đầu tiên' hoặc 'hàng cuối cùng' trừ khi bạn có mệnh đề ORDER BY. Giả sử bạn thêm một mệnh đề ORDER BY sau đó bạn có thể sử dụng giới hạn theo các cách sau:

  • Để có được hàng đầu tiên sử dụng LIMIT 1.
  • Để có được hàng thứ 2, bạn có thể sử dụng giới hạn với phần bù:
    SELECT *
    FROM tbl_foo
    WHERE name = 'sarmen'
    LIMIT 1
    
    0.
  • Để có được hàng cuối cùng đảo ngược thứ tự (thay đổi ASC thành DESC hoặc ngược lại) sau đó sử dụng LIMIT 1.

Hướng dẫn select the first row in mysql - chọn hàng đầu tiên trong mysql

Mark Amery

133K78 Huy hiệu vàng395 Huy hiệu bạc443 Huy hiệu Đồng78 gold badges395 silver badges443 bronze badges

Đã trả lời ngày 10 tháng 7 năm 2010 lúc 0:02Jul 10, 2010 at 0:02

Mark Byersmark ByersMark Byers

783K185 Huy hiệu vàng1552 Huy hiệu bạc1440 Huy hiệu đồng185 gold badges1552 silver badges1440 bronze badges

9

Bạn đã không chỉ định cách xác định thứ tự, nhưng điều này sẽ cung cấp cho bạn giá trị xếp hạng trong MySQL:

SELECT t.*,
       @rownum := @rownum +1 AS rank
  FROM TBL_FOO t
  JOIN (SELECT @rownum := 0) r
 WHERE t.name = 'sarmen'

Sau đó, bạn có thể chọn ra những hàng bạn muốn, dựa trên giá trị xếp hạng.

Đã trả lời ngày 10 tháng 7 năm 2010 lúc 0:04Jul 10, 2010 at 0:04

OMG Poniesomg PoniesOMG Ponies

318K79 Huy hiệu vàng511 Huy hiệu bạc494 Huy hiệu đồng79 gold badges511 silver badges494 bronze badges

3

Bạn có thể nhận được tổng số hàng chứa một tên cụ thể bằng cách sử dụng:

SELECT COUNT(*) FROM tbl_foo WHERE name = 'sarmen'

Với số lượng, bây giờ bạn có thể nhận được hàng thứ n bằng cách sử dụng:

SELECT * FROM tbl_foo WHERE name = 'sarmen' LIMIT (n - 1), 1

Trong đó 1

Example::

Nhận hàng thứ 3

SELECT * FROM tbl_foo WHERE name = 'sarmen' LIMIT 2, 1

Đã trả lời ngày 10 tháng 7 năm 2010 lúc 0:11Jul 10, 2010 at 0:11

AnaxanaxAnax

8,9025 Huy hiệu vàng33 Huy hiệu bạc67 Huy hiệu Đồng5 gold badges33 silver badges67 bronze badges


Làm cách nào để chọn 5 hàng đầu tiên trong MySQL?

SQL TOP, GIỚI HẠN, LẠI ĐẦU TIÊN HOẶC ROWNUM.

SQL Server / MS Access Cú pháp: chọn Số hàng đầu | phần trăm cột_name (s) từ TABEL_NAME. ....

Cú pháp MySQL: Chọn Cột_Name (S) từ Table_Name. .... Not all database systems support the

SELECT *
FROM tbl_foo
WHERE name = 'sarmen'
LIMIT 1
4 clause. MySQL supports the
SELECT *
FROM tbl_foo
WHERE name = 'sarmen'
LIMIT 1
5 clause to select a limited number of records, while Oracle uses
SELECT *
FROM tbl_foo
WHERE name = 'sarmen'
LIMIT 1
6 and
SELECT *
FROM tbl_foo
WHERE name = 'sarmen'
LIMIT 1
7.

SQL Server / MS Access Cú pháp:

Chọn số hàng đầu | phần trăm cột_name (s) từ điều kiện Table_Namewhere;
FROM table_name
WHERE condition;

Cú pháp MySQL:

Chọn Cột_Name (S) từ Số giới hạn điều kiện của Table_Namewhere;
FROM table_name
WHERE condition
LIMIT number;

Cú pháp của Oracle 12:

Chọn cột_name (s) từ bảng_nameorder bằng cột_name (s) chỉ tìm nạp các hàng số đầu tiên;
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Cú pháp oracle cũ hơn:

Chọn Cột_Name (S) từ Table_Name WHERE ROWNUM
FROM table_name
WHERE ROWNUM <= number;

Cú pháp oracle cũ hơn (có thứ tự):

Chọn *Từ (chọn cột_name (S) từ đơn đặt hàng trên Table_Name theo cột_name (s))
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;


Cơ sở dữ liệu demo

Dưới đây là một lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind:

ID khách hàngTên khách hàngTên Liên lạcĐịa chỉ nhàThành phốMã bưu điệnQuốc gia
1 Alfreds FutterkisteMaria AndersObere str. 57Berlin12209 nước Đức
2 Ana Trujillo Emparedados Y HeladosAna TrujilloAvda. de la constitución 2222México D.F.05021 Mexico
3 Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023 Mexico
4 Antonio Moreno TaqueríaAntonio MorenoMataderos 2312Xung quanh sừngThomas Hardy120 Hanover sq.
5 LondonChristina BerglundBerguvsvägen 8LuleåS-958 22Thụy Điển



SQL Top, Giới hạn và Tìm nạp các ví dụ đầu tiên

Câu lệnh SQL sau đây chọn ba bản ghi đầu tiên từ bảng "Khách hàng" (cho Access SQL Server/MS):

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho MySQL:

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

Chọn * từ khách hàng chỉ có 3 hàng đầu tiên;
FETCH FIRST 3 ROWS ONLY;


Ví dụ phần trăm hàng đầu của SQL

Câu lệnh SQL sau đây chọn 50% bản ghi đầu tiên từ bảng "Khách hàng" (đối với Truy cập SQL Server/MS):

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

Chọn * từ khách hàng chỉ có 3 hàng đầu tiên;
FETCH FIRST 50 PERCENT ROWS ONLY;


Ví dụ phần trăm hàng đầu của SQL

Câu lệnh SQL sau đây chọn 50% bản ghi đầu tiên từ bảng "Khách hàng" (đối với Truy cập SQL Server/MS):

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho MySQL:

Câu lệnh SQL sau đây hiển thị ví dụ tương đương cho Oracle:

Thí dụ

Chọn * từ khách hàng chỉ có 3 hàng đầu tiên;
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;



Làm cách nào để chọn một hàng trong mysql?

Câu lệnh MySQL Chọn được sử dụng để truy xuất các hàng từ một hoặc nhiều bảng. Tuyên bố cũng có thể bao gồm các tuyên bố và phân nhóm công đoàn. Chọn câu lệnh được sử dụng để tìm nạp các hàng hoặc bản ghi từ một hoặc nhiều bảng.

Làm cách nào để có được hàng đầu tiên của một bảng trong SQL?

Hàm đầu tiên () được sử dụng để trả về hàng đầu tiên của bất kỳ bảng nào. is used to return the first row of any table.

Làm cách nào để chọn 5 hàng đầu tiên trong MySQL?

SQL TOP, GIỚI HẠN, LẠI ĐẦU TIÊN HOẶC ROWNUM..
SQL Server / MS Access Cú pháp: chọn Số hàng đầu | phần trăm cột_name (s) từ TABEL_NAME.....
Cú pháp MySQL: Chọn Cột_Name (S) từ Table_Name.....
Oracle 12 Cú pháp: Chọn cột_name (S) ....
Cú pháp oracle cũ hơn: Chọn cột_name (S) ....
Cú pháp Oracle cũ hơn (có thứ tự bởi): Chọn *.

Làm cách nào để chọn hàng đầu tiên của một nhóm trong SQL?

Để làm điều đó, bạn có thể sử dụng hàm row_number ().Trong Over (), bạn chỉ định các nhóm mà các hàng sẽ được chia (phân vùng theo) và thứ tự mà các số nên được gán cho các hàng (thứ tự theo).Bạn gán số hàng trong mỗi nhóm (tức là năm).use the ROW_NUMBER() function. In OVER() , you specify the groups into which the rows should be divided ( PARTITION BY ) and the order in which the numbers should be assigned to the rows ( ORDER BY ). You assign the row numbers within each group (i.e., year).