411 читали · 2 года назад
Выбор максимального значения по группам (SQL)
Допустим, у нас стоит задача («фактуру» беру от фонаря, чисто чтоб под иллюстрацию решений канало): есть у нас, к примеру, таблица учеников (Students), в ней, помимо прочего, есть такие поля, как ФИО (Name), класс (ClassId) и показатель успеваемости (Performance). Нам надо (ну, скажем, для доски почёта) выбрать учеников с наилучшей успеваемостью по каждому классу. Запущено всё это на MS SQL Server. Так вот. Есть решение очевидное (для нахватавшегося SQL по верхам) и есть решение правильное (для умеющего в хитрозадые особенности). Очевидное решение (для тех, кто дальше джойнов не зашёл): скрестить...
704 читали · 1 год назад
SQL --- заметки
Базовый синтаксис: 1. Выбрать весь столбец из таблицы без фильтрации SELECT name FROM passenger 2. Выбрать столбец с фильтрацией SELECT * ---> выбрать всё FROM trip ---> откуда WHERE town_from = 'Moscow' ---> критерий фильтрации 3. Вывести имена людей, которые заканчиваются на "man" SELECT name FROM passenger WHERE name LIKE '%man' ---> символ % означает любую последовательность символов, а "man" - конкретную последовательность символов. Таким образом, данное условие выберет все значения в столбце name, которые заканчиваются на "man"...