Count (id) - вернуть список id и максимальное кол-во id-шников в IN()

ggfdsfds

Новичок
Добрый вечер.

Возможно ли как-то делая запрос на подсчет кол-ва записей в таблице - кроме возвращения целого числа (SELECT COUNT(ID) FROM TABLE) - вернуть еще список id-шников которые попали в подсчет, например:

SELECT COUNT(ID) AS COUNTValue, ID FROM TABLE WHERE ID > 25;
COUNTValue | ID
100 | 1
100 | 2
...

Т.к. приходится работать часто с IN() - хотел еще поинтересоваться, сколько в него можно передавать ID-шников - если буду в него передавать 1000 - 100 000 id-ков это нормально или нет?
 

esase

Новичок
Код:
SELECT
  (SELECT count(id) FROM your_table WHERE id <25) AS rowsCount,
  id
FROM
    your_table
WHERE
  id <25
PS. Передавать в IN большое количество id плохая практика, размер строки в IN имеет ограничения (смотрите в доке), даже если вы увеличите размер, то в любом случае нужно контролировать какая длина получилась у строки, во общем плохая идея
 

AnrDaemon

Продвинутый новичок
count(*) будет работать быстрее.
Если прихолится использовать 100500 записей в IN(), пора задуматься о том, что БД организована из рук вон плохо.
 
Сверху