SQLTest — год вместе!
Чуть больше года назад я запустил проект sqltest.online — бесплатный онлайн-тренажёр, призванный помочь всем желающим освоить SQL на практике. Сегодня мы с гордостью подводим итоги этого замечательного года!
Наши достижения:
Тренажёр предоставляет вам пять баз данных (MySQL, PostgreSQL, MS SQL Server, SQLite, Firebird) для отработки навыков.
Вам доступно почти 300 разнообразных практических задач.
Реализована возможность пройти тест на знание SQL и узнать свой рейтинг.
По данным Яндекс.Метрики:
Наш сайт посетили более 38 000 человек, просмотрев более 350 000 страниц!
Более 2700 зарегистрированных пользователей решили почти 50 000 задач — это потрясающий результат!
Наше дружное сообщество в Telegram объединяет более 700 активных участников.
Огромное спасибо всем, кто был с нами в этот год! Ваша поддержка и активность — лучшая мотивация для нас.
Хотите поддержать проект?
Мы рады, что SQLTest помогает вам в изучении SQL. Если вы хотите внести свой вклад в развитие проекта и поддержать его дальнейшее существование, вы можете сделать пожертвование. Любая сумма будет принята с благодарностью и направлена на улучшение и развитие.
Хотите поддержать проект и рассказать о своём продукте или услуге нашей заинтересованной аудитории? Свяжитесь с нами по поводу размещения рекламы на сайте sqltest.online!

Интересный инструмент, попробую использовать для своих студентов. Хотя, слишком хочет один вариант решения, когда есть альтернативы. Например:
Очевидное, конечно, это select .. from .. order by .. limit 10, при условии, что индексы на месте. Но тест настолько явно хочет этот ответ, что совершенно не принимает альтернативные решения. Попытка использовать window function rank over, просто выдаёт ошибку. Хотя запуск даёт абсолютно идентичный результат, те же десять строк, с нужными колонками и отсортированные по алфавиту.
Я понимаю, что это решение проигрывает по всем статьям - слишком много операций (filter, table scan, materialize cte, window aggregate, sort) по сравнению с тривиальным. Explain analyze также подтверждает, что оно дороже. Использовать wf для такой задачи нерационально, да и новичок об их существовании вообще не знает. Но результат-то идентичный "эталонному" и полностью валидный. Если результаты совпадают, ну оцените стоимость, выдайте ответ, что мол, производительность хромает и должно быть решение лучше.