Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách chọn mọi hàng thứ n trong mySQL bắt đầu từ n

Đây là một cách tiếp cận, để lấy tập kết quả do MySQL trả về. (Nhưng có thể dễ dàng hơn nếu chỉ trả lại tất cả các hàng và nhận mọi hàng thứ ba trong ứng dụng). Nhưng nó có thể được thực hiện trong MySQL khá dễ dàng. Lưu ý rằng truy vấn ban đầu của bạn được bao bọc trong parens (dưới dạng chế độ xem nội tuyến) được đặt bí danh là r .

SELECT r.*
  FROM ( 
         SELECT *
           FROM mbr_qa_questions
          ORDER BY q_votes DESC
       ) r
 CROSS
  JOIN ( SELECT @i := 0 ) s
HAVING ( @i := @i + 1) MOD 3 = 1

Điều đó sẽ trả về mọi hàng thứ ba, bắt đầu với hàng đầu tiên. Để nhận mọi hàng thứ ba bắt đầu bằng hàng thứ 2 và thứ 3, hãy thay thế chữ = 1 trong mệnh đề HAVING với = 2 hoặc = 3 (tương ứng).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kiểm tra các bản sao trong bảng mysql trên nhiều cột

  2. Không thay thế thành có một mệnh đề where?

  3. hiệu suất neo4j so với mysql (nó có thể được cải thiện như thế nào?)

  4. Sự khác biệt giữa utf8_unicode_ci và utf8_unicode_520_ci là gì

  5. Làm cách nào để chọn nhiều hàng theo khóa chính nhiều cột trong MySQL?