У меня есть таблица offer_cpv
, которая соединяет два других «offer
» и «cpv
». Вы можете увидеть скрипку здесь: http://sqlfiddle.com/#!9/02020/1Как отсортировать возвращенный результат sql по идентификатору, который появляется больше всего в этом результате
offer_cpv
имеет две колонки, которые важны для нас: offer_id
и cpv_id
.
Моего исходный запрос выглядит следующим образом: SELECT cpv_id FROM offer_cpv WHERE offer_id IN (1,2,3,4) LIMIT 10
Как вы можете видеть, что я должен вернуть все cpv_id
на основе массива offer_id
(я прохожу, что WHERE IN (offer_id)
Я получу этот результат:.
cpv_id
1010
1020
1030
2010
4030
4060
1010
2010
1010
1020
Как вы можете увидеть некоторые cpv_id повторяют, поскольку некоторые предложения могут иметь тот же cpv_id связаны с ними. Мне нужно, чтобы получить список «самых популярных» cpv_id, я имею в виду, если какой-то идентификатор repeati В большинстве случаев мне нужно, чтобы он был наверху списка. Например, это было бы желательно вывод:
cpv_id
1010
1020
2010
1030
4030
4060
Как вы можете видеть, 1010 повторяется 3 раза, так что я хочу его на верхней части возвращенного результата. Затем наступает 1020 и 2010, так как они повторяются 2 раза, затем идут другие, пока не будет достигнут предел 10.
Можно ли как-то сделать с MYSQL и PHP?
Благодаря
Спасибо, это работает как шарм. – offline