Cita: Por lo que he entendido, si quisiera que me mostrara una lista con todos los resultados utilizaría el while (y claro está, sin el SUM).
Si, es correcto, pero ese caso sólo se daría si la consulta devolviese una tabla de resultados, y no un registro único. Y para ello la condición del WHERE debería devolver N registros, y para lograrlo no deberías consultar por un campo que sea clave primaria.
Además, una consulta que devuelva subtotales por item, que sería el caso, requiere
sí o sí que se use un GROUP BY para obtener los subtotales mencionados.
¿Se entiende?
En decir, debes resolver ambas lógicas al mismo tiempo: En SQL la consulta y PHP lo que tenga que ver con el procesamiento de los resultados de la consulta.