Je fais de la pagination, et je dois faire une requête et obtenir le résultat défini par slicing ..__, par exemple: je dois obtenir toutes les "premières" lignes dans la plage 20n <x <40n etc.
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC;
et maintenant je dois faire mon glissement par colonne appelé ID.
Des suggestions comment alors? Je dois exécuter ma requête sur mysql, mssql et Oracle.
En supposant que votre taille de page est de 20 enregistrements et que vous voulez obtenir le numéro de page 2, voici comment procéder:
SQL Server, Oracle:
SELECT * -- <-- pick any columns here from your table, if you wanna exclude the RowNumber
FROM (SELECT ROW_NUMBER OVER(ORDER BY ID DESC) RowNumber, *
FROM Reflow
WHERE ReflowProcessID = somenumber) t
WHERE RowNumber >= 20 AND RowNumber <= 40
MySQL:
SELECT *
FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 20 OFFSET 20
En MySql, vous pouvez obtenir 10 lignes à partir de la ligne 20 en utilisant:
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 10 OFFSET 20 --Equivalent to LIMIT 20, 10
select * from table_name LIMIT 100
rappelez-vous cela ne fonctionne qu'avec MYSQL