MySQL> 8.0
Bạn có thể đạt được cùng một nhiệm vụ bằng cách sử dụng một chức năng cửa sổ. Nếu tôi không nhầm thì cách làm đúng sẽ như sau:
SELECT t.* FROM (SELECT *, Row_number() OVER() AS rn FROM location_values) t
WHERE t.rn % 10 = 1
https://www.db-fiddle.com/f/tb2nLZ6dkDPaQxkc6My9Yg/2
MySQL <8.0
Bạn có thể mô phỏng hàm cửa sổ bằng thuộc tính phiên, nhưng điều này không phải lúc nào cũng đáng tin cậy.
Phương pháp 1 (chỉ có thể được thực hiện một lần; không khuyến khích):
SELECT t.*
FROM
(SELECT *, @position:=((SELECT ifnull(@position, 0)) + 1) AS rn FROM location_values) t
WHERE t.rn % 10 = 1
Phương pháp 2:
SELECT location_values.*
FROM location_values,
(SELECT @row_number:=0) AS temp
WHERE (@row_number:[email protected]_number + 1) % 10 = 1
https://www.db-fiddle.com/f/tb2nLZ6dkDPaQxkc6My9Yg/3