SQL count null
fadelghani
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
tatsuyad Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
tatsuyad Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travail sur une base de donnée oracle et je me demande si il y a une possibilité d'afficher le resultat du count(*) quand le résultat est égale a '0'
Par exemple on a une table qui une colonne de :
date qui se répète (exp : 20110111,20110113,20110113,20110114)
une colonne valeur
une colonne statut (exp : X,Z,Y)
Je veux compter le nombre des date qui a un statut 'X' et même m'afficher ceux qui retourne null
sachant que le count(*) renvoi juste si la valeur est différente de 0
Merci pour les réponse qui me proposera pas d'utiliser deux tables
20110111 (1 : quand il a une date ayant statut X)
20110114 (0 : quand il n'a pas de date ayant un statut X
ainsi de suite
Je travail sur une base de donnée oracle et je me demande si il y a une possibilité d'afficher le resultat du count(*) quand le résultat est égale a '0'
Par exemple on a une table qui une colonne de :
date qui se répète (exp : 20110111,20110113,20110113,20110114)
une colonne valeur
une colonne statut (exp : X,Z,Y)
Je veux compter le nombre des date qui a un statut 'X' et même m'afficher ceux qui retourne null
sachant que le count(*) renvoi juste si la valeur est différente de 0
Merci pour les réponse qui me proposera pas d'utiliser deux tables
20110111 (1 : quand il a une date ayant statut X)
20110114 (0 : quand il n'a pas de date ayant un statut X
ainsi de suite
A voir également:
- Count sql null
- Logiciel sql - Télécharger - Bases de données
- Comment ouvrir un fichier null ? ✓ - Forum Windows
- Fichier docx, xlsx ou pptx : comment ouvrir un document Office - Guide
- Requete sql pix - Forum PHP
6 réponses
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
'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.
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
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
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