0

I have a simple database:

mysql> select item_id, image_id, dimensions from item_images order by item_id;


    +---------+-----------+------------+
    | item_id | image_id  | dimensions |
    +---------+-----------+------------+
    |  810484 | 456239042 |        600 |
    |  810484 | 456239042 |        800 |
    |  810484 | 456239042 |       1280 |
    |  810488 | 456239043 |        800 |
    |  810488 | 456239043 |       1280 |
    |  810488 | 456239043 |        600 |
    | 1582704 | 456239313 |        600 |
    | 1582719 | 456239314 |        600 |
    | 1582733 | 456239315 |        600 |

As you can see, some pictures are available in three resolutions (1280, 800, 600), and some only in the minimal (600).

Question: How to compose a query that would select one picture with the highest possible resolution for each item_id?

============= IN RUSSIAN ==============
Как вы видите, некоторые картинки имеются в трех разрешениях (1280, 800, 600), а некоторые только в минимальном (600).

Вопрос: Как составить запрос который бы выбирал одну картинку с максимально возможным разрешением для каждой позиции?

Vitaly
  • 3
Vitaly
  • 1
  • Как-то странно, что для одного итема при разных разрешениях один и тот же ИД картинки. Точно не напахал с примером данных? – Akina Mar 28 '18 at 08:27

1 Answers1

0

Добрый день. Вот вариант решения данной задачи:

SELECT `item_id`, `image_id`, MAX(`dimensions`) FROM `item_images` GROUP BY `image_id`