2016-03-01 4 views
0

У меня есть таблица, где я храню R, G, B каждого пикселя изображения.Группа по изменению 3 столбца

Я хотел бы сделать SELECT, который сгруппировал результаты по вариации этих трех столбцов с учетом поля.

Хочу, например, что запись содержит: 55, 100, 60 сгруппирован с записью, которая содержит: 50,105,65

В этом случае изменение было определено как 5 более или менее.

Моя цель - вернуть после 7700 анализа пиксели, которые изменяют повторяющийся цвет.

ответ

1

Это зависит от того, как вы определяете «margin». Очень простой ответ был бы

GROUP BY r/5, g/5, b/5 

(при условии, г, г и Ь некоторая форма целого, а не плавать или цифровой)

Вы могли бы сделать что-то любитель (возможно, с оконными функциями), если это необходимо.

Помимо этого, я предлагаю создать композитный тип:

CREATE TYPE pixel AS(r smallint, g smallint, b smallint); 

И тогда вы могли бы хранить все изображение в одной строке в качестве 2D массив пикселя []. Для большинства вещей я бы ожидал, что это будет немного легче. Он должен работать лучше.

Смежные вопросы