Mi sembra che questo dovrebbe essere abbastanza semplice, ma non riesco a trovare una soluzione. Supponiamo che io ho la seguente tabella:Valore specifico del conteggio SQL su più colonne e righe
|--------||---||---||---||---||---||---||---|
|Company ||q1 ||q2 ||q3 ||q4 ||q5 ||q6 ||q7 |
|--------||---||---||---||---||---||---||---|
|abc ||1 ||2 ||1 ||3 ||2 ||2 ||1 |
|abc ||2 ||2 ||1 ||2 ||3 ||1 ||1 |
|abc ||1 ||1 ||3 ||3 ||1 ||2 ||2 |
|abc ||1 ||2 ||1 ||3 ||0 ||1 ||3 |
voglio contare il numero di volte '1' appare nella tabella, quindi la query deve, in questo caso, portare con 12. Ho provato 'brutalmente' it , come la seguente query. Ma questo si traduce solo nelle righe contenenti un 1, quindi in questo caso 4. Come faccio a contare il numero di volte che si verifica '1', ottenendo così un conteggio di 12?
SELECT COUNT(*)
FROM table
WHERE Company = 'abc'
AND (
q1 = '1'
OR q2 = '1'
OR q3 = '1'
OR q4 = '1'
OR q5 = '1'
OR q6 = '1'
OR q7 = '1'
)
'E '1' IN (Q1, Q2, Q3, Q4, Q5, Q6, Q7)' – Alex
No, che si traduce in COUNT 4 così – Merin
a cuore, il motivo per il vostro approccio non ha fatto e non può funzionare è che 'count()' conta le righe e quindi un set di 1 su più colonne verrà conteggiato una sola volta. – shawnt00