requete mysql

Le
Jacques TREPP
Bonjour,

je bute sur une requète pourtant apparemment simple. à partir d'une table de
tickets, je dois obtenir
le nombre de tickets par heure et demi-heure.

Voilà ma requète qui fonctionne par heure :

select datfct as 'date',count(*) as 'nombre_tickets',left(hrfct,2) as
'heure' from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

Pour info, la colonne hrfct est un Char(5) : HH:MM

Si vous avez une idée

merci


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
news.motzarella.org
Le #16772761
Le Wed, 10 Sep 2008 11:05:45 +0200, Jacques TREPP a écrit:

Bonjour,

je bute sur une requète pourtant apparemment simple. à partir d'une
table de tickets, je dois obtenir
le nombre de tickets par heure et demi-heure.

Voilà ma requète qui fonctionne par heure :

select datfct as 'date',count(*) as 'nombre_tickets',left(hrfct,2) as
'heure' from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

Pour info, la colonne hrfct est un Char(5) : HH:MM

Si vous avez une idée ...

merci




Remplacer le left par un decode de greatest/least des minutes et 30 qui
donne la demi heure ? (Oracle)


--
JB
Firetox
Le #16772751
Bonjour, jacques

utilise les IF de mySQL pour ca
pour savoir combien de ticket on a dans une heure il suffit de compter les
enreg <> ''
pour les demi heure je te propose de compter le nombre sur la premiere
demiheure et la deuxieme
normalement la somme des deux demi heure doit te donne le nb heure
select datfct as 'date',
sum(if(right(hrfct,2)<>'',1,0) )as 'nombre_tickets_heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'nombre_tickets_demiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'nombre_tickets_demiHeure2'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);



"Jacques TREPP" 48c78d68$0$9625$
Bonjour,

je bute sur une requète pourtant apparemment simple. à partir d'une table
de tickets, je dois obtenir
le nombre de tickets par heure et demi-heure.

Voilà ma requète qui fonctionne par heure :

select datfct as 'date',count(*) as 'nombre_tickets',left(hrfct,2) as
'heure' from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

Pour info, la colonne hrfct est un Char(5) : HH:MM

Si vous avez une idée ...

merci


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)


Firetox
Le #16772741
un petite erreur avec les coller copier

select datfct as 'date',
sum(if(hrfct<>'',1,0) )as 'nombre_tickets_heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'nombre_tickets_demiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'nombre_tickets_demiHeure2'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

pour les heure il suffit de compte les non ''



"Jacques TREPP" 48c78d68$0$9625$
Bonjour,

je bute sur une requète pourtant apparemment simple. à partir d'une table
de tickets, je dois obtenir
le nombre de tickets par heure et demi-heure.

Voilà ma requète qui fonctionne par heure :

select datfct as 'date',count(*) as 'nombre_tickets',left(hrfct,2) as
'heure' from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

Pour info, la colonne hrfct est un Char(5) : HH:MM

Si vous avez une idée ...

merci


--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)


Jacques TREPP
Le #16773101
"Firetox" news:48c79099$0$14057$
Bonjour, jacques

utilise les IF de mySQL pour ca
pour savoir combien de ticket on a dans une heure il suffit de compter les
enreg <> ''
pour les demi heure je te propose de compter le nombre sur la premiere
demiheure et la deuxieme
normalement la somme des deux demi heure doit te donne le nb heure
select datfct as 'date',
sum(if(right(hrfct,2)<>'',1,0) )as 'nombre_tickets_heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'nombre_tickets_demiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'nombre_tickets_demiHeure2'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);






Trop fort ! ça marche. :)
Encore une fois : merci !

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Jacques TREPP
Le #16773091
Requète finale :

select datfct as 'date',left(hrfct,2) as 'Heure',
sum(if(right(hrfct,2)<>'',1,0) )as 'Nbr/Heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'Nbr/DemiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'Nbr/DemiHeure2',
sum(mtttc) as 'Ca ttc'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

j'ai ajouté l'heure, et le CA ttc.

merci encore

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
news.motzarella.org
Le #16773561
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP a écrit:

Requète finale :

select datfct as 'date',left(hrfct,2) as 'Heure',
sum(if(right(hrfct,2)<>'',1,0) )as 'Nbr/Heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'Nbr/DemiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'Nbr/DemiHeure2',
sum(mtttc) as 'Ca ttc'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

j'ai ajouté l'heure, et le CA ttc.

merci encore




Select decode(least(right(hrfct,2),'30'),right(hrfct,2),1,2) from ...
donne 1
pour 1ere 1/2 heure , 2 pour l'autre....

--
JB
Jacques TREPP
Le #16774831
" news.motzarella.org " news:
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP a écrit:

Requète finale :

select datfct as 'date',left(hrfct,2) as 'Heure',
sum(if(right(hrfct,2)<>'',1,0) )as 'Nbr/Heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'Nbr/DemiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'Nbr/DemiHeure2',
sum(mtttc) as 'Ca ttc'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

j'ai ajouté l'heure, et le CA ttc.

merci encore




Select decode(least(right(hrfct,2),'30'),right(hrfct,2),1,2) from ...
donne 1
pour 1ere 1/2 heure , 2 pour l'autre....

--
JB




Merci pour ta réponse. Je ne comprend pas bien comment insérer dans ma
requète la fonction decode qui, d'après le guide officiel de mysql press,
sert à décrypter une chaine en lui passant un mot de passe (!?)
Pourrais-tu m'en dire un peu plus ?
je suis en version Mysql 4.1.10a

merci

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
news.motzarella.org
Le #16775111
Le Wed, 10 Sep 2008 14:32:46 +0200, Jacques TREPP a écrit:

" news.motzarella.org " de news:
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP

Requète finale :

select datfct as 'date',left(hrfct,2) as 'Heure',
sum(if(right(hrfct,2)<>'',1,0) )as 'Nbr/Heure',
sum(if(right(hrfct,2)<='30',1,0)) as 'Nbr/DemiHeure1',
sum(if(right(hrfct,2)>'30',1,0)) as 'Nbr/DemiHeure2',
sum(mtttc) as 'Ca ttc'
from ticket
where datfct between '20080901' and '20080907'
group by datfct, left(hrfct,2);

j'ai ajouté l'heure, et le CA ttc.

merci encore




Select decode(least(right(hrfct,2),'30'),right(hrfct,2),1,2) from ...
donne 1
pour 1ere 1/2 heure , 2 pour l'autre....

-- JB




Merci pour ta réponse. Je ne comprend pas bien comment insérer dans ma
requète la fonction decode qui, d'après le guide officiel de mysql
press, sert à décrypter une chaine en lui passant un mot de passe (!?)
Pourrais-tu m'en dire un peu plus ?
je suis en version Mysql 4.1.10a

merci



Ben moi je suis en oracle 10G...

Decode semble être propriétaire ORACLE depuis toujours (pas trouvé en SQL
ANSI 92 où peut être remplacé par case).

S'écrit decode(var,C1,V1,C2,V2,C3,V3...,VDEF)
si var vaut C1 le decode vaut V1
si var vaut C2 le decode vaut V2
...
si rien de tout cela le decode vaut VDEF

Bien commode pour faire du conditionnel dans du non procédural.
--
JB
Jacques TREPP
Le #16775101
>>


Ben moi je suis en oracle 10G...

Decode semble être propriétaire ORACLE depuis toujours (pas trouvé en SQL
ANSI 92 où peut être remplacé par case).

S'écrit decode(var,C1,V1,C2,V2,C3,V3...,VDEF)
si var vaut C1 le decode vaut V1
si var vaut C2 le decode vaut V2
...
si rien de tout cela le decode vaut VDEF

Bien commode pour faire du conditionnel dans du non procédural.
--
JB




Je me disais bien, aussi ... :)
Merci, an tous cas. j'ai résolu ma requete avec if.
cordialement

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
Publicité
Poster une réponse
Anonyme