Запрос MYSQL используя 3 таблицы

102
23 апреля 2022, 00:30

Имеется 3 таблицы. Хочу сделать выборку и подсчёт данных.

Делаю выборку по record таблице в моем случае..

select *,count(items_id) as cnt from record inner join person on person.id = record.person_id inner join items on items.id=items_id

Вот хочу подсчитать в record сколько записей из Person имеет по items
например: person:
[1,admin], [2,user]
items:
[1,Login], [2,Reg]
record:
[1,1,1]....[n,2,1]
Хочу такой результат:
подсчитать сколько раз admin записался как Login и Reg по отдельно с коль-во и user соответственно.
например admin сделал login 5 раз и reg 3 раза, а результат должен быть таков:
Я все не взял, просто конкретно привел пример, знаю в (select в моем случае) выдает все таблицы*
| person.Name | items.title | cnt (count(x) as cnt)
admin - Login - 5
admin - Reg - 3
user - Login - 9
user - Reg - 8

в таблице record всего 25 записей в моем случае. насчёт сортировки сам сделаю. Вот с выборкой проблемы.
Благодарю заранее за ваш ответ.

Answer 1

можно сделать так

select 
  person.id as person_id, 
  person.Name as person_name, 
  items.id as item_id, 
  items.title as item_title, 
  count(items_id) as cnt 
from record 
inner join person on person.id = record.person_id 
inner join items on items.id=items_id
GROUP BY
person.id, 
person.Name, 
items.id, 
items.title
READ ALSO
Что такое лимит 1000 строк в БД

Что такое лимит 1000 строк в БД

Я не могу понять, что такое лимит 1000 строк в БД это у меня будет в HeidiSql видно 1000 строк или как, или если количество пользователей перевалит...

175
Есть проблема в понимании mysql

Есть проблема в понимании mysql

вообщем вот задание:

231