Comment utiliser la LIMITE de mot-clé dans SQL Server 2005?
J'ai trouvé un moyen pour sélectionner des lignes aléatoires à partir d'une table dans ce post. Une suggestion est d'utiliser la requête suivante:
SELECT * FROM employee ORDER BY RAND() LIMIT 1
Mais lorsque j'exécute cette requête dans MS SQL 2005, je reçois le message d'erreur suivant
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.
Quelqu'un peut me dire où je me trompe? Ne pas MS SQL soutien de la LIMITE? Si oui, alors comment puis-je faire cela?
- ORDER BY rand() ne fera pas ce que vous attendez, comme prouvé par SELECT *, rand() DE l'employé ORDER BY RAND(). Au lieu de cela, utiliser la COMMANDE PAR newid().
Vous devez vous connecter pour publier un commentaire.
Si vous jetez un oeil à l'instruction SELECT dans la documentation en Ligne SQL Server, alors vous verrez que vous pouvez limiter le jeu de résultats en utilisant le HAUT de mot-clé.
Vous devez utiliser la fonction newid() pour qu'il puisse être évalué une fois par ligne.
Je suis en utilisant ce assez simple (SQL2005) pour limiter le nombre de lignes renvoyées, ce qui permettra de travailler avec une valeur fournie par un paramètre d'une procédure stockée en tant que bien.