SQL count null
Fermé
fadelghani
Messages postés
15
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
12 avril 2012
-
13 janv. 2011 à 13:20
tatsuyad Messages postés 74 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 avril 2016 - 15 oct. 2015 à 12:54
tatsuyad Messages postés 74 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 avril 2016 - 15 oct. 2015 à 12:54
A voir également:
- Count sql null
- Null messenger - Forum Mail
- Comment ouvrir un fichier null ? ✓ - Forum Windows
- Logiciel sql - Télécharger - Bases de données
6 réponses
jee pee
Messages postés
40620
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
4 janvier 2025
9 474
13 janv. 2011 à 21:00
13 janv. 2011 à 21:00
Salut,
Tu aurais dû donner ta requête car ta demande n'est pas très claire.
20110114 (0 : quand il n'a pas de date ayant un statut X si pas de date je ne vois pas comment tu peux avoir 20110114 ;-)
Après il faut bien intégrer que NULL, c'est qu'un champ n'est pas renseigné. Quand le champ contient zéro, le champ est renseigné, avec la valeur zéro.
Donc NULL ce n'est pas zéro.
Pour ta question la solution réside probablement dans la fonction NVL(champ,valeur) qui affecte une valeur à un champ NULL
Par exemple : select NVL(date,'absente') from table;
cdlt
Tu aurais dû donner ta requête car ta demande n'est pas très claire.
20110114 (0 : quand il n'a pas de date ayant un statut X si pas de date je ne vois pas comment tu peux avoir 20110114 ;-)
Après il faut bien intégrer que NULL, c'est qu'un champ n'est pas renseigné. Quand le champ contient zéro, le champ est renseigné, avec la valeur zéro.
Donc NULL ce n'est pas zéro.
Pour ta question la solution réside probablement dans la fonction NVL(champ,valeur) qui affecte une valeur à un champ NULL
Par exemple : select NVL(date,'absente') from table;
cdlt
fadelghani
Messages postés
15
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
12 avril 2012
13 janv. 2011 à 22:10
13 janv. 2011 à 22:10
'0' ou bien null c'est la même chose dans mon cas
quand une date n'est pas prise en considération par le compteur conut(*) elle ne me l'affichera pas
exp : de '20110114' qui n'a pas de statut 'X' elle ne va pas être compter alors a la place de m afficher que la date '20110114' ne contient aucun statut 'X' titre d'exemple 20110114 ==>0 il ne va pas m'afficher la date carrément
count(*) : quand une valeur a 0 comme résultat il ne l affichera pas
Merci pour votre aide j attend encore vos réponse.
quand une date n'est pas prise en considération par le compteur conut(*) elle ne me l'affichera pas
exp : de '20110114' qui n'a pas de statut 'X' elle ne va pas être compter alors a la place de m afficher que la date '20110114' ne contient aucun statut 'X' titre d'exemple 20110114 ==>0 il ne va pas m'afficher la date carrément
count(*) : quand une valeur a 0 comme résultat il ne l affichera pas
Merci pour votre aide j attend encore vos réponse.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 janv. 2011 à 10:31
14 janv. 2011 à 10:31
Bonjour,
Sous Oracle, je ne sais pas trop, mais as-tu penser à utiliser une clause HAVING ?
Xavier
Sous Oracle, je ne sais pas trop, mais as-tu penser à utiliser une clause HAVING ?
Xavier
tatsuyad
Messages postés
74
Date d'inscription
mercredi 3 juin 2015
Statut
Membre
Dernière intervention
3 avril 2016
15 oct. 2015 à 12:54
15 oct. 2015 à 12:54
select count(statut) as NombX from table group by statut having statut = 'X'
?
Et cela marche également ?
select count(statut) as NombX from table where statut = 'X'
?
?
Et cela marche également ?
select count(statut) as NombX from table where statut = 'X'
?
fadelghani
Messages postés
15
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
12 avril 2012
14 janv. 2011 à 11:33
14 janv. 2011 à 11:33
déjà fait mais ça marche pas
apparrament je crois qu'il faut mettre une condition (quand la ligne n'est pas prise en charge par le compteur en lui affecte un '0')(un truc comme CASE WHEN then in)
mais je sais pas comment faire
J'ai vue cet exemple dans un autre forum mais je sais pas comment faire
SELECT Col1, IF (isnull(COUNT(Effectif)), 0, COUNT(Effectif))
FROM Table1
WHERE Effectif IN (2, 3, 4)
GROUP BY Col1
J'attend encore vos proposition
apparrament je crois qu'il faut mettre une condition (quand la ligne n'est pas prise en charge par le compteur en lui affecte un '0')(un truc comme CASE WHEN then in)
mais je sais pas comment faire
J'ai vue cet exemple dans un autre forum mais je sais pas comment faire
SELECT Col1, IF (isnull(COUNT(Effectif)), 0, COUNT(Effectif))
FROM Table1
WHERE Effectif IN (2, 3, 4)
GROUP BY Col1
J'attend encore vos proposition
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jee pee
Messages postés
40620
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
4 janvier 2025
9 474
15 janv. 2011 à 18:01
15 janv. 2011 à 18:01
Tu n'as toujours pas donné ta requête.
Sur l'exemple j'écrirais
select col1, count(nvl(effectif,0))
from table1
where nvl(effectif,0) in (0,2,3,4)
group by col1
Sur l'exemple j'écrirais
select col1, count(nvl(effectif,0))
from table1
where nvl(effectif,0) in (0,2,3,4)
group by col1
fadelghani
Messages postés
15
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
12 avril 2012
17 janv. 2011 à 16:34
17 janv. 2011 à 16:34
Voila ma requete
select mon_date,count(*)
from ma_table
where mon_date_statut like 'XT%'
and to_date(mon_date,'yyYYMMDD') >= to_date('20110101','yyYYMMDD')
and to_date(mon_date,'YYMMDD') <= SYSDATE
and mon_date_type='P'
and NBR_PEND='0'
group by mon_date;
SPOOL OFF
Je veux afficher les dates qui retourne la valeur '0'
les date qui répond pas au critère cité dans la requête...ils vont être avorté est ce possible de les afficher et aussi les affecté la valeur '0'
Merci pour votre aide
select mon_date,count(*)
from ma_table
where mon_date_statut like 'XT%'
and to_date(mon_date,'yyYYMMDD') >= to_date('20110101','yyYYMMDD')
and to_date(mon_date,'YYMMDD') <= SYSDATE
and mon_date_type='P'
and NBR_PEND='0'
group by mon_date;
SPOOL OFF
Je veux afficher les dates qui retourne la valeur '0'
les date qui répond pas au critère cité dans la requête...ils vont être avorté est ce possible de les afficher et aussi les affecté la valeur '0'
Merci pour votre aide