У меня есть база данных, которая содержит некоторые данные в этой форме:
icon(name, size, tag)
(myicon.png, 16, 'twitter')
(myicon.png, 32, 'twitter')
(myicon.png, 128, 'twitter')
(myicon.png, 256, 'twitter')
(anothericon.png, 32, 'facebook')
(anothericon.png, 128, 'facebook')
(anothericon.png, 256, 'facebook')
Итак, как вы видите, поле имени не уникально. У меня может быть несколько значков с одинаковым именем, и они разделены полем размера. Теперь в PHP у меня есть запрос, который получает один значок, например:
$dbQueryIcons = mysql_query("SELECT * FROM pl_icon WHERE tag LIKE '%".$SEARCH_QUERY."%' GROUP BY name ORDER BY id DESC LIMIT ".$firstEntry.", ".$CONFIG['icon_per_page']."") or die(mysql_error());
В этом примере, если $ tag содержит 'twitter', будет отображаться ТОЛЬКО первая запись данных SQL с тегом 'twitter', поэтому это будет:
(myicon.png, 16, 'twitter')
Это то, что я хочу, но я бы предпочел размер '128' по умолчанию. Можно ли сказать, чтобы SQL отправлял мне только размер 128, если он существует, а если нет, то другого размера?
В другом вопросе кто-то дает мне решение с помощью GROUP BY, но в этом случае оно не запускается, потому что у нас есть имя GROUP BY. И если я удалю GROUP BY, он покажет мне все размеры одинаковых значков.
Спасибо!