Pues si es así puede hacerlo con if, switch en el select, pero ¿cómo se calculan esos números?, ¿es una cuenta, una suma, una fórmula?.
Código:
select codigo, sum(if (day(fecha) <= 15, valor, 0)) p1_15, sum(if (day(fecha) > 15, valor, 0)) p16-31
from tabla
Un saludo.