Próbuję uzyskać kolejne 10 rekordów bez korzystania z tej struktury

SELECT * FROM records LIMIT 3,10

Znalazłem inną metodę, która daje ten sam wynik

SELECT * FROM records WHERE id > 3 LIMIT 10

Ale chcę przejść na podstawie docelowej wartości wywołania kolumny html_id nie opartej na kolumnie identyfikatora.

Na przykład uzyskanie kolejnych 10 rekordów po tej notatce rekordu zignoruj ​​żółtą ramkę

photo 1

SELECT * FROM records WHERE html_id='i1481988552' /*The next 10 records after i1481988552 but how??*/

W rezultacie powinno to wyglądać mniej więcej tak

photo 2

0
user9767744 10 listopad 2018, 01:16

1 odpowiedź

Najlepsza odpowiedź

Pobierz identyfikator rekordu z html_id, który chcesz, a następnie użyj go do porównania z identyfikatorami innych rekordów.

SELECT *
FROM records
WHERE id > (SELECT id FROM records WHERE html_id = 'i1481988552')
ORDER BY id
LIMIT 10

Można to również zapisać jako samodołączenie:

SELECT r1.*
FROM records AS r1
JOIN records AS r2 ON r1.id > r2.id
WHERE r2.html_id = 'i1481988552'
ORDER BY r1.id
LIMIT 10
2
Barmar 10 listopad 2018, 01:20