Было бы лучше найти цвета максимально удаленными в "перцепционно универсальном" цветовом пространстве, например, CIELAB (использующий Евклидово расстояние между L**, b* координаты как Ваша метрика расстояния) и затем преобразовывающий в цветовое пространство по Вашему выбору. Перцепционная однородность достигается путем тонкой настройки цветового пространства для приближения нелинейности в зрительной системе человека.
SELECT strftime('%Y',datetime) AS year,
strftime('%m',datetime) AS month,
type,
Sum(amount) As Amount
FROM mytable
Group By 1, 2, 3
Некоторые БД не поддерживают группировку по индексу, поэтому вам придется это сделать.
SELECT strftime('%Y',datetime) AS year,
strftime('%m',datetime) AS month,
type,
Sum(amount) As Amount
FROM mytable
Group By strftime('%Y',datetime),
strftime('%m',datetime),
type