Если вы ищете customer_id
с наибольшим количеством строк в таблице rental
, вы можете использовать:
SELECT customer_id, COUNT(customer_id) as CustomerRowCount
FROM rental
GROUP BY customer_id
ORDER BY COUNT(customer_id) DESC
LIMIT 1
Приведенный выше запрос будет подсчитывать все записи для каждого customer_id, сортировать их в порядке убывания и затем выбирать только верхнюю строку. Максимальный счет для клиента будет представлен в CustomerRowCount
.
РЕДАКТИРОВАТЬ
Конрад поднял вопрос о том, что две или более customer_id
могут иметь одинаковое количество записей. Если бизнес-требование заключается в том, что в этом случае необходимо вернуть несколько записей, тогда его запрос даст вам искомый результат. Если должна быть возвращена только одна запись, тогда простым, последовательным способом разрыва связей будет просто взять пользователя с самым низким customer_id
. Для этого вы можете просто изменить оператор ORDER BY на:
ORDER BY COUNT(customer_id) DESC, customer_id