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)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
news.motzarella.org
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
Le Wed, 10 Sep 2008 11:05:45 +0200, Jacques TREPP <jacques.trepp@free.fr>
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)
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
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" a écrit dans le message de news: 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)
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" <jacques.trepp@free.fr> a écrit dans le message de news:
48c78d68$0$9625$426a74cc@news.free.fr...
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)
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" a écrit dans le message de news: 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
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" a écrit dans le message de news: 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)
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" <jacques.trepp@free.fr> a écrit dans le message de news:
48c78d68$0$9625$426a74cc@news.free.fr...
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)
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" a écrit dans le message de news: 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
"Firetox" a écrit dans le message de 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)
"Firetox" <firetox@SQLManagerX.com> a écrit dans le message de
news:48c79099$0$14057$426a74cc@news.free.fr...
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)
"Firetox" a écrit dans le message de 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
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)
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)
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 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
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP <jacques.trepp@free.fr>
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....
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
" news.motzarella.org " a écrit dans le message de 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 " <jbres@invalid.invalid> a écrit dans le message de
news:op.ug9gtwq0yn5h3r@jbxp.scrim.fr...
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP <jacques.trepp@free.fr>
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 " a écrit dans le message de 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 Wed, 10 Sep 2008 14:32:46 +0200, Jacques TREPP a écrit:
" news.motzarella.org " a écrit dans le message de 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
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
Le Wed, 10 Sep 2008 14:32:46 +0200, Jacques TREPP <jacques.trepp@free.fr>
a écrit:
" news.motzarella.org " <jbres@invalid.invalid> a écrit dans le message
de news:op.ug9gtwq0yn5h3r@jbxp.scrim.fr...
Le Wed, 10 Sep 2008 11:55:44 +0200, Jacques TREPP
<jacques.trepp@free.fr> 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
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
Le Wed, 10 Sep 2008 14:32:46 +0200, Jacques TREPP a écrit:
" news.motzarella.org " a écrit dans le message de 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
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
>>
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)
>>
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)
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)