151 votes

Comment utiliser DISTINCT et ORDER BY dans la même instruction SELECT ?

Après avoir exécuté la déclaration suivante :

SELECT  Category  FROM MonitoringJob ORDER BY CreationDate DESC

Je reçois les valeurs suivantes de la base de données :

test3
test3
bildung
test4
test3
test2
test1

mais je veux que les doublons soient supprimés, comme ceci :

bildung
test4
test3
test2
test1

J'ai essayé d'utiliser DISTINCT mais cela ne fonctionne pas avec ORDER BY dans une déclaration. Merci de m'aider.

Important :

  1. J'ai essayé avec :

    SELECT DISTINCT Category FROM MonitoringJob ORDER BY CreationDate DESC

    cela ne fonctionne pas.

  2. L'ordre par date de création est très important.

-3voto

Essayez ensuite, mais ce n'est pas utile pour les données volumineuses...

SELECT DISTINCT Cat FROM (
  SELECT Category as Cat FROM MonitoringJob ORDER BY CreationDate DESC
);

-4voto

Zaheer Babar Points 1109

Cela peut être fait en utilisant une requête interne comme ceci

$query = "SELECT * 
            FROM (SELECT Category  
                FROM currency_rates                 
                ORDER BY id DESC) as rows               
            GROUP BY currency";

-7voto

SELECT DISTINCT Category FROM MonitoringJob ORDER BY Category ASC

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X