Группировка таблиц в Mysql

0

Я пытаюсь создать представление, где я могу видеть имена арендаторов и сколько раз они посещали из таблицы транзакций. В первом примере я все время получаю сообщение об ошибке "Подзапрос возвращает более 1 строки". Второй пример дает мне идентификатор арендаторов и время посещения.

 SELECT first_name, last_name,
        (SELECT COUNT(renter_id)
         FROM transactions
         GROUP BY renter_id
        ) AS visited
 FROM renters
 WHERE renter_id IN (SELECT renter_id
                     FROM transactions
                     GROUP BY renter_id
                     having COUNT(renter_id) > 2
                    );


SELECT renter_id, COUNT(renter_id) AS visited
FROM transactions
GROUP BY renter_id
having COUNT(renter_id) > 2;
  • 0
    выберите first_name, last_name, COUNT (Transactions.renter_id) FROM арендует транзакции внутреннего соединения в группе renters.renter_id = Transactions.renter_id, используя renter_id, имеющий COUNT (Transactions.renter_id)> 2);
  • 0
    попробуйте запрос выше.
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Вы ищете JOIN. Запрос выглядит так:

SELECT r.first_name, r.last_name, COUNT(*) AS num_visits
FROM transactions t JOIN
     renters r
     ON t.renter_id = r.renter_id
GROUP BY r.first_name, r.last_name 
HAVING COUNT(*) > 2;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню