phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

cách chọn 5 hàng mới nhất từ ​​mysql của tôi

Bạn cần sắp xếp các kết quả và đặt giới hạn.

Giả sử ngày giờ là thứ bạn muốn đặt hàng:

$query = "
    SELECT 
        lat, 
        lng, 
        DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime 
    FROM markers1 WHERE 1
    ORDER BY datetime DESC
    LIMIT 5
";

CHỈNH SỬA: Để trả lời nhận xét của OP:"kết quả mà tôi nhận được là bắt đầu cho Hàng 50 cho truy vấn đầu tiên và theo sau là 49,48,47,46. Liệu tôi có thể nhận được hàng bắt đầu từ hàng 46,47,48,49,50 này không?"

Bạn có thể làm điều này với kết quả trong PHP, bằng cách tìm nạp các hàng và lưu trữ chúng trong một mảng và đảo ngược mảng. Tôi không tin rằng bạn có thể lặp lại một cách hiệu quả tài nguyên kết quả mysql.

Để thực hiện việc này trong truy vấn SQL, bạn cần tạo một bảng tạm thời với truy vấn ban đầu:

$query = "
    SELECT 
        lat,
        lng,
        DATE_FORMAT(datetime,'%W %M %D, %Y %T') AS datetime 
    FROM (
        SELECT 
            lat, 
            lng, 
            datetime
        FROM markers1 WHERE 1
        ORDER BY datetime DESC
        LIMIT 5
    ) AS tmp_markers
    ORDER BY datetime ASC
";

Kết quả của truy vấn ban đầu được sử dụng làm bảng để tìm kiếm trong một truy vấn mới, sắp xếp theo ngày giờ tăng dần. Tôi đã phải áp dụng DATE_FORMAT cho truy vấn bên ngoài vì chúng tôi cần trường ngày giờ để sắp xếp lại.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. làm cách nào để mã hóa toàn bộ một cột

  2. Hộp cảnh báo PHPMyAdmin - thiếu giá trị trong biểu mẫu - tất cả các trường thông thường được điền?

  3. Không thể tạo mã thông báo CSRF ngẫu nhiên! (phpmyadmin 4.6.4)

  4. đến phpmyadmin với mamp

  5. Giải quyết máy chủ MySQL đã không còn lỗi