PHP Lister en decroissant les enregistrements distincts

le_phenicien

Habitué
Hi All,

je m'explique:

admettons une table qui contient les enregistrements suivant:

-Bonbons
-Lune
-Biscuit
-Bonbons
-Lune
-Bonbons

Il y a donc 3xBonbons / 2xLune / 1xBiscuit
Je souhaite donc faire afficher en "distinct" ces enregistrements par ordre décroissant:

-Bonbons
-Lune
-Biscuit

Ce que je demande est peu le fonctionnement d'un moteur de recherche
Pas de bricolage SVP ma base contient pas loin d' 1million d'enregistrements

Je suis sûr qu'il existe quelque chose d'intégré à PHP mais je ne le connais malheureusement pas :(

Merci d'avance à tous!
 

KangOl

Grand Maître
Code:
SELECT DISTINCT col1, (
  SELECT count( * )
  FROM tbl
  WHERE col1 = t.col1
) AS c
FROM tbl t
ORDER BY c DESC
 

le_phenicien

Habitué
C'est super ca merci KangOl !

Une deuxième question alors, avec les résultats de ce script comment est-ce que je peux avoir le nombre d'enregistrement pour chaque valeur.
Ex:
Bonbons / 3
Lune / 2
Biscuit / 1

Si j'utilise une boucle pour lister la table, est ce que pour chaque $i je dois faire une requête qui va me compter le nombre d'enregistrements existant pour la oubien y a t-il encore une fonction?

Merci
 

zeb

Modérateur
Désolé pour le UP, je crois que l'exemple suivant est plus académique :
Code:
SELECT   col1, count( * )
FROM     tbl
GROUP BY col1
ORDER BY col1 DESC
.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 055
Membres
1 586 282
Dernier membre
Yannick3553
Partager cette page
Haut