DISTINCT
no funciona en este contexto al estar presentes funciones SUM() y/o COUNT(). Esto es porque SUM() genera una acumulación en un campo y
devuelve, por definición,
un único registro.
Cuando lo que quieres son las
sumas parciales de cada uno de los items distintos según el valor de otra columna, lo que debes hacer es que
agrupe los valores conforme esa columna, es decir, esto:
Código sql:
Ver originalSELECT
item_ingreso,
SUM(valor_ingreso) suma,
COUNT(*) cantidad
FROM ingreso
GROUP BY item_ingreso;
De esta forma, el DISTINCT está implícito para ese campo, y los valores de cada columna son las sumas de aquellos que corresponden a valores de item_ingreso iguales.