Выборка определенного количества значений для некоторого поля - MySQL
Формулировка задачи:
Здравствуйте. Пожалуйста подскажите человеку который только разбирается в sql.
Есть две таблицы по связи один к многим. Нужно выбрать определенное количество значений для некоторого поля.
Например:
Есть некоторое количество людей, которые имеют много машин(со второй таблицы). Нужно вывести по 5 машин(хотя у их может быть и больше) для каждого человека.
Заранее спасибо!
Решение задачи: «Выборка определенного количества значений для некоторого поля»
textual
Листинг программы
SELECT t1.name, t2.name FROM people t1 LEFT JOIN car t2 ON (t1.id = t2.people_id LIMIT 5)
Объяснение кода листинга программы
В представленном коде выполняется запрос к базе данных с использованием языка SQL. Этот запрос выбирает имена людей и автомобилей из двух таблиц: people и car. Таблица car содержит внешнее соединение с таблицей people по полю people_id.
Код имеет следующую структуру:
- SELECT - указывает, какие поля следует выбрать из базы данных.
- t1.name - указывает, что следует выбрать поле
nameиз таблицыpeople. - t2.name - указывает, что следует выбрать поле
nameиз таблицыcar. - FROM people t1 - указывает, что выборка данных будет из таблицы
people. - LEFT JOIN car t2 ON (t1.id = t2.people_id) - выполняет соединение двух таблиц по полю
people_id. - LIMIT 5 - ограничивает количество возвращаемых записей до 5.
Таким образом, этот код выберет первые 5 записей из таблицы
peopleи соответствующие им записи из таблицыcar, если они есть. Если запись в таблицеcarотсутствует, соответствующие поля из таблицыpeopleвсе равно будут возвращены.