533 читали · 3 года назад
Выбор максимального значения по группам (SQL)
Допустим, у нас стоит задача («фактуру» беру от фонаря, чисто чтоб под иллюстрацию решений канало): есть у нас, к примеру, таблица учеников (Students), в ней, помимо прочего, есть такие поля, как ФИО (Name), класс (ClassId) и показатель успеваемости (Performance). Нам надо (ну, скажем, для доски почёта) выбрать учеников с наилучшей успеваемостью по каждому классу. Запущено всё это на MS SQL Server. Так вот. Есть решение очевидное (для нахватавшегося SQL по верхам) и есть решение правильное (для умеющего в хитрозадые особенности). Очевидное решение (для тех, кто дальше джойнов не зашёл): скрестить...
116 читали · 3 года назад
SQL. 2 УРОК.
В прошлом уроке мы научились выбирать совершеннолетних пользователей с помощью простого SQL запроса. SELECT last_name, first_name, birthday FROM users WHERE age >= 18 Теперь попробуем немного уточнить запрос. Например, выберем всех совершеннолетних мужчин. В таблицу я добавил дополнительное строковое поле sex, которое хранит m для мужчин и w для женщин: Картинка 1. Давайте добавим вывод столбца sex и оставим только мужчин. Для этого в блоке условий, который начинается со слова WHERE нужно добавить AND sex = 'm': SELECT last_name, first_name, birthday, sex FROM users WHERE age >= 18 AND sex = 'm' После выполнения SQL запроса получиться такая таблица: Картинка 2...