gérer la base de donnée de mon site avec sql

Nouveau WRInaute
Bonjour à tous,

Je dispose d'une table appelé HISTO qui comporte 5 'variables' :
ID_HISTO
CODE
LIB
DATE
CDE_LABEL

J'aurais aimé grâce à une requête sql assembler les 'CODE_LABEL' semblables dans un même tableau et ça pour chaque code. En faite mes CODE_LABEL correspond aux codes des personnes inscrites à mon site internet et j'aurais voulu voir le nombre ou la fréquence de connexion pour chacun d'eux mais dans des tableaux différents pas un tri avec order by.

est ce possible??!
 
WRInaute accro
Pas sûr d'avoir tout compris... Tu veux peut-être ça:

select CDE_LABEL,count(*) from HISTO group by 1 order by 1

Jacques.
 
Nouveau WRInaute
En faite j'ai redemandé à mon patron ce qu'il voulait exactement et ce n'est pas ça.
Il veut que la base s'affiche sous cette forme :

code lib date cde_label
15348 action1 26/04/2010 12:36 9558
15346 action2 26/04/2010 12:38 9558
16489 action1 26/04/2010 12:40 6505
16479 action2 26/04/2010 12:42 6505

En faite il veut voir pour une même date les actions grouper par utilisateur

J'ai fait ce code :
$sql = 'SELECT * FROM HISTO GROUP BY CDE_LABEL ORDER BY DATE DESC';

Le problème c'est que ce code affiche :
code lib date cde_label
59225 connexion admin 26/04/2010 12:31:58 5706
59222 connexion admin 26/04/2010 12:18:42 156

Le tri par date est fait mais pas de regroupement par cde_label : ce code permet l'affichage d'une seule connexion d'un utilisateur (cde_label) et sa pour une seule date mais pas toutes ces connexions.

Par exemple d'après ce que me renvoie le code mon patron qui se connecte au moins une dizaine de fois par jour au site ne se serais connecter qu'une fois le 12/12/2008 je ne comprend donc pas pourquoi ça ne fonctionne pas
 
WRInaute accro
Tu ne veux donc en fait rien grouper, mais juste trier... (grouper ça veut dire que tu veux une ligne de résultat pour plusieurs lignes "groupées). Tu fais donc juste un tri sur la date suivi d'un tri par utilisateur, et voilà.

Evidemment, sachant que ta "date" inclut l'heure, il faut d'abord que tu convertisses en date (qui ne contient que le jour).

Bref:

select * from table order by cast(date as date) desc,cde_label

Jacques.
 
Nouveau WRInaute
En faite si je veux bien sur une même ligne la date, l'action le code de l'action faite par l'utilisateur et le code de l'utilisateur par utilisateur.
Ton code je l'est fait et sa fonctionne mais le problème c'est que chaque action d'un même utilisateur ne sont pas regroupé.
 
Nouveau WRInaute
En faite j'ai trouver la solution il suffisait d'inverser CDE_LABEL et DATE dans 'order by' mais j'ai toujours un souci je n'arrive pas à extraire l'heure de la date?
 
Discussions similaires
Haut