J'essaie de sélectionner les 5 lignes avec la valeur de count
la plus élevée
C'est ma requête:
ssortingng sql = "SELECT top 5 count FROM Likes ORDER BY COUNT(*) DESC";
Il lance juste un code d'erreur
La colonne "Likes.count" n'est pas valide dans la list de sélection car elle n'est contenue ni dans une fonction d'agrégat ni dans la clause GROUP BY.
C'est pour un projet que je dois présenter demain …
Sur SQL Server, faites simplement ceci:
SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC
Cela suppose que votre table Likes
contient déjà une colonne nommée [Count]
ce qui signifie que vous n'avez pas besoin de countr les loggings vous-même (ce qui est le cas de COUNT(*)
).
Vous ne devriez pas utiliser COUNT(*)
ici pour order by
.
SELECT top 5 [count] FROM Likes ORDER BY [Count] DESC
count
est un mot réservé, c'est pourquoi vous devriez éviter de les utiliser pour les noms de colonnes. Si vous ne voulez pas renommer la colonne, vous pouvez lui échapper, différents dbms peuvent affecter qui vous faites cela. Dans ssms, vous utiliseriez des crochets.
ssortingng sql = "SELECT top 5 [count] FROM Likes ORDER BY COUNT(*) DESC";