Antes que nada, yo te diría que si esa es una búsqueda frecuente y sobre una base con muchos registros, yo no habría estructurado la tabla de esa manera, la verdad. Tampoco nos dices si es obligatorio hacerlo con la base o puedes usar programación. Tampoco sabemos si los números van del 1 al 5 o pueden ser muchos más. Imaginemos que solo van del 1 al 5, una consulta como esta, te ayudará
Código MySQL:
Ver originalSELECT id
, (IF( R1
=1, 1, 0 ) + IF( R2
=1, 1, 0 ) + IF( R3
=1, 1, 0 ) + IF( R4
=1, 1, 0 ) + IF( R5
=1, 1, 0 ))tot1
, (IF( R1
=2, 1, 0 ) + IF( R2
=2, 1, 0 ) + IF( R3
=2, 1, 0 ) + IF( R4
=2, 1, 0 ) + IF( R5
=2, 1, 0 ))tot2
, (IF( R1
=3, 1, 0 ) + IF( R2
=3, 1, 0 ) + IF( R3
=3, 1, 0 ) + IF( R4
=3, 1, 0 ) + IF( R5
=3, 1, 0 ))tot3
, (IF( R1
=4, 1, 0 ) + IF( R2
=4, 1, 0 ) + IF( R3
=4, 1, 0 ) + IF( R4
=4, 1, 0 ) + IF( R5
=4, 1, 0 ))tot4
, (IF( R1
=5, 1, 0 ) + IF( R2
=5, 1, 0 ) + IF( R3
=5, 1, 0 ) + IF( R4
=5, 1, 0 ) + IF( R5
=5, 1, 0 ))tot5
id tot1 tot2 tot3 tot4 tot5
1 2 1 0 0 2
2 1 0 1 0 3
3 1 1 1 0 2