SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 14.06.2010 01:30:00

binarius
Участник
Зарегистрирован: 07.04.2010
Сообщений: 14

Подсчет работы оператора IN для каждой строки

Здравствуйте.
Возникла задача, по которой поисквики ничего не выдают или я не понимаю как сформулировать вопрос.
Есть запрос вида SELECT * FROM `table` WHERE `query` IN(11,36,3223,34,3,22,45,67,4,433,....,354,21)
Условий в IN может быть до нескольких сотен. И от того что запрос возвращает более десятка строк, да и просто для статистики очень интересно бы знать, сколько в каждой из строк раз совпало одно из условий IN. И если это возможно сортировать по ним. Подскажите, как это сделать?
Заранее благодарю!

Неактивен

 

#2 14.06.2010 11:23:24

devart
ISV
MySQL Enterprise Gold Partner
Откуда: www.devart.com
Зарегистрирован: 12.04.2010
Сообщений: 22

Re: Подсчет работы оператора IN для каждой строки

Попробуйте такой выполнить запрос (этот запрос выдаст естественно не все строки, а только их количество):

SELECT
  query,
  COUNT(*) AS count
FROM
  `table`
WHERE
  query IN
  (11, 36, 3223, 34, 3, 22, 45, 67, 4, 433, 354, 21)
GROUP BY
  query

Но если нужно все строки и с количеством в соседней колонке, то запрос можно усложнить джоином...

Отредактированно devart (14.06.2010 11:24:42)

Неактивен

 

#3 14.06.2010 14:23:07

binarius
Участник
Зарегистрирован: 07.04.2010
Сообщений: 14

Re: Подсчет работы оператора IN для каждой строки

А вроде то, что мне нужно и получилось!
Спасибо!

Отредактированно binarius (14.06.2010 14:31:08)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson