ГРУППА SQL ПО ВНУТРЕННЕМУ СОЕДИНЕНИЮ И СЧЕТУ

Я новичок в MySQL. Столкнулся с проблемой при создании запроса.

Итак, у меня есть две таблицы: device_master_data, device_logs.

устройство_мастер_данные:

идентификатор устройства device_seral_number

для любого device_id есть уникальный device_serial_number.

журналы устройств:

идентификатор устройства log_date city_id

поэтому в этой таблице есть несколько записей для device_id.

например: есть 5 записей для device_id 1, 10 записей для device_id 2

Цель: Чтобы получить TOP 20 наиболее часто встречающихся device_id из таблицы device_logs а затем получите device_serial_number, соответствующий device_id.

Результат:

считать device_serial_number

Пожалуйста, кто может помочь, это было бы очень полезно

что ты уже испробовал? Оператор SQL, пожалуйста.

shahkalpesh 23.12.2020 08:28

Отвечает ли это на ваш вопрос? SQL Group BY, первые N элементов для каждой группы

Luuk 23.12.2020 08:28
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
377
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать группу следующим образом:

Select m.device_id, m.device_serial_number, count(*) as cnt
  From device_master_data m join device_logs l on l.device_id = m.device_id
Group by m.device_id, m.device_serial_number
Order by count(*) desc
Limit 20
Ответ принят как подходящий

использовать это

SELECT COUNT(dl.device_id) as count, dmd.device_serial_number
   FROM device_logs dl JOIN 
        device_master_data dmd 
        ON dl.device_id = dmd.device_id
GROUP BY d1.device_serial_number
ORDER BY count DESC
LIMIT 20;

Я почти уверен, что вы хотели device_serial_number в GROUP BY. В любом случае, update делает ответ правильным.

Gordon Linoff 23.12.2020 15:26

Спасибо за помощь, все работает.

Amit Rathod 23.12.2020 16:09

Другие вопросы по теме