MySQL Запрос / Сортировка

Рейтинг: 1Ответов: 1Опубликовано: 16.10.2014

Добра! Есть таблица с инфой об изображении, назовем ее images, где существует столбец colors с 10-ю основными цветами с этого изображения. Необходимо реализовать сортировку по релевантности таблицы images в соответствии с выбранным цветом. При загрузке изображения есть массив с количеством цвета

array("fff" => "100", "000" => "90", "" => ""....)

Насколько я понимаю, нужно сделать еще одну таблицу (например, color), куда заносить id изображения из images, сам цвет и его количество, и потом при выборке склеивать таблицы и сортировать images по color, но при таком раскладе при добавлении 1 записи в images в color летит уже 10 записей на каждый цвет и его количество. Как будет грамотно организовать это дело? Желательно с примерами.

Ответы

▲ 1Принят

Ну, делаешь 3 таблицы:

 1. images (id, path)
 2. color (id, name)
 3. images_color (id_images, id_color, count)

Запрос нужно? Запрос:

SELECT images.path, colors.name, images_color.count
FROM images_color
Left Join images on images_color.id_image=images.id
Left Join colors on images_color.id_color=colors.id
WHERE id_color=ID цвета из запроса берем
ORDER BY count DESC