devo contare valori diversi su una colonna, come ad esempio:conteggio valori nulli come unico valore
Hours
1
1
2
null
null
null
Il risultato deve essere: . La mia domanda è:
select count(distinct hour) from hours;
ma restituisce: 2. Ho testato anche:
select count(*) from hours group by hour
ma restituisce tre file:
(1) 3
(2) 2
(3) 1
Come posso contare valori nulli come 1 Valore e usare distinti per evitare di contare i valori ripetuti?
sto imparando SQL avanzato, Vogliono che questi requisiti per tutte le soluzioni:.
"Cerca di minimizzare il numero di sottoquery è necessario risolvere la query Inoltre, non si è autorizzati ad utilizzare il seguente costruzioni: "
- SELECT in FROM o SELECT. È consentito avere sottoquery (SELECT in WHERE o HAVING)
- Combinazioni di funzioni di aggregazione come COUNT (COUNT ...)), SUM (COUNT ...) e simili.
- UNION se puoi evitarlo.
- funzioni non standard (come ad esempio NVL)
- CASE
gioco intorno con fondono (Col, 0) – Strawberry
@Strawberry: Che conterebbe '0' e' null' come lo stesso valore – Andomar
sì, sarebbe !!! – Strawberry