Поиск наиболее подходящих записей в базе данных MySQL

Рейтинг: 0Ответов: 2Опубликовано: 19.10.2014

Привет! У меня есть база данных MySQL и в ней таблица с 2-я полями, поля типа int. Не может быть несколько записей с одинаковым первым и вторым полем. У меня есть массив чисел m. Мне надо получить значение первого поля, у которого во втором поле значения больше соответствует числам из массива, как-то так.

То бишь у меня есть таблица:

param1  param2
1       111
2       111
2       222
2       444
3       222
3       555

И массив:

111 222 333

Мне надо получить из таблицы число 2. Буду очень признателен за помощь.

Ответы

▲ 2Принят
select param1, count(param1) as x from tbl
where param2 in (111, 222, 333)
group by param1
order by x desc
limit 1

http://sqlfiddle.com/#!2/3cdae5/2

▲ 1

Через два запроса: выбирай первое значение только с одним условием, записывай значение, а потом выбирай с двумя.