sql select 5 valeurs les plus élevées

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 … entrez la description de l'image ici

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";