Я пытаюсь получить максимальное значение счетчика, но ошибка
Это мои данные
username tool_id
___________________
user1 1
user1 2
user2 1
user3 3
Мне нужно получить максимальное количество tool_id
Я использую этот код, чтобы получить tool_count
SELECT tool_id, COUNT(tool_id) AS tool_count
FROM table
GROUP BY tool_id
tool_id tool_count
_____________________
1 2
2 1
3 1
И я использую
SELECT tool_id,max(tool_count)
FROM
(
SELECT tool_id, COUNT(tool_id) AS tool_count
FROM table
GROUP BY tool_id
)
Чтобы получить max tool_count, но это ошибка
Результат мне нужен:
tool_id tool_count
__________________
1 2
2 ответа
Вы можете попробовать использовать order by desc with limit 1
SELECT tool_id, COUNT(tool_id) as tool_count
from table
group by tool_id
order by tool_count desc limit 1
Если tool_id - primary_key, удалите GROUP BY из вашего запроса, и вам не нужно использовать эту команду.
Но если вы получаете все свои строки таблицы одновременно с помощью count, вам нужно сгруппировать по столбцу, который имеет похожие данные во всех столбцах, вы можете изменить свою таблицу и добавить столбец со значением по умолчанию, которое никогда не изменится.
Лучше получить счет в другом запросе.
Похожие вопросы
Новые вопросы
mysql
MySQL — это бесплатная система управления реляционными базами данных (RDBMS) с открытым исходным кодом, которая использует язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. д. Это разные БД, которые используют свои собственные диалекты SQL для управления данными. В вопросе всегда указывайте точную версию сервера. Версии 5.x сильно отличаются по своим возможностям от версий 8+.