Как правильно организовать получение списка данных с дополнительным полем — количество?
А что мешает после получения всех элементов просто взять размер полученного массива?
Без дополнительного запроса нельзя.
Есть разные ухищрения, которые позволят замаскировать дополнительный запрос, но по факту это будет именно он.
Но при этом есть риск натупить с производительностью.
Так что лучше не пытаться усидеть на двух стульях  одной, ээээ..., туловищем, а сделать два отдельных запроса. 
Да, это неудобно. Но неправильный подсчет полного количества строк на большой таблице может создать очень сильную нагрузку, вплоть до того, чтобы полностью положить систему. Так что лучше не экспериментировать