Ответ на #вопрос45
Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.
При использовании агрегирующих функций предложение GROUP BY
сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.
#вопросы #собеседование
Трюк дня. Как в sql добавить к datetime 7 дней
Если надо изменить значение поля end_time
прибавив к нему 7 дней, то запрос должен выглядеть так:
update purchases set end_time = DATE_ADD(end_time, INTERVAL 7 DAY);Если обновлять надо не все записи, то нужно добавить условие
WHERE
#tips
Читать полностью…
❗️Как тестировать T-SQL с помощью tSqlt?
Узнайте 20 января в 20:00 на открытом уроке онлайн-курса «MS SQL Server разработчик» в OTUS — https://otus.pw/ubFqe/
🧑💻 Модульное тестирование кода бэкенда прочно вошло в нашу жизнь, но код базы данных по-прежнему мало кто тестирует.
На занятии поговорим о модульном тестировании кода SQL Server и использовании для этого tSqlt.
⚠️ Не упустите возможность познакомиться с экспертом и протестировать формат обучения.
👉 Для РЕГИСТРАЦИИ пройдите вступительный тест
https://otus.pw/ubFqe/
Задача на мышление и логику.
Каким образом нарисовать треугольник, чтобы все его углы были 90 градусов?
Решение будет вечером.
#логика
#вопрос44
С помощью какого запроса можно удалить все записи из таблицы?
Решение будет вечером.
#вопросы #собеседование
Трюк дня. Как проверить существует ли уже база данных mysql?
Есть инсталяционный скрипт, нужно проверять существует ли уже база данных с заданным именем и вообще возможно ли создание бд (на некоторых хостингах стоит ограничение). Собственно в этом и вопрос, как это реализовать используя mysql.
Решение будет вечером.
#tips
Задача на мышление и логику.
Переложите только 2 спички так, чтобы получить такой же домик, но в зеркальном отражении:
Решение будет вечером.
#логика
Трюк дня. Как отфильтровать неправильные номера в таблице номеров
Есть таблица Postgresql где есть поле типа character varying[]. В этом поле сохраняется номера телефонов в таком виде [+012345678901","+123456789012","2347587E+11"]
. Как найти в этой таблице "неправильные" номера телефонов такого вида - 2347587E+11
и удалить? И чтобы после удаления массив выглядел так:
Массив до удаления [+012345678901","+123456789012","2347587E+11"]
Массив после удаления [+012345678901","+123456789012"]
Решение будет вечером.
#tips
Задача на мышление и логику.
Определите, какое число должно стоять на месте знака вопроса.
Решение будет вечером.
#логика
Трюк дня. SQL - Вернуть другую строку, если не найдена первая
Выберите обе, и отсортируйте в правильном порядке, взяв только первую строку, подразумевая, что ID у вас не просто 1,2, т.к в этом случае можно просто order by id сделать:
SELECT *#tips Читать полностью…
FROM test
WHERE id IN ('A','B')
ORDER BY CASE WHEN id = 'A' THEN 1 ELSE 2 END
LIMIT 1
Ответ на #вопрос42
Запрос для вычисления суммы всех положительных и отрицательных значений x будет выглядеть так:
select sum(case when x>0 then x else 0 end)#вопросы #собеседование Читать полностью…
sum_pos,sum(case when x<0 then x else 0 end)
sum_neg from a;
❔❔❔⚠️Пройди тест по Базам данных 🙌
✔️ Ответь на 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Data Warehouse Analyst" по специальной цене.
👨🎓Что будет на курсе? Научитесь собирать end-to-end аналитические решения. За 5 месяцев живых вебинаров и практики вы изучите самые актуальные и востребованные инструменты построения хранилищ данных.
⏰ Время прохождения теста ограничено 25 минут
✍️ПРОЙТИ ТЕСТ: https://otus.pw/CI9b/
🤑 Праздничные цены для отличной карьеры в IT
Не упуcтите возможность протестировать обучение в OTUS!
Задача на мышление и логику.
Определите, какое число должно стоять на месте знака вопроса.
Решение будет вечером.
#логика
Какую математику нужно знать, чтобы попасть в IT?
Многие люди, которые хотели попасть в IT, отказывались от этой идеи, когда вспоминали свои школьные оценки по математике.
У нас есть хорошая новость: математика – это интересно, не так уж сложно и доступно всем. В Яндекс Практикуме есть бесплатный тренажер по математике для тех, кто хочет освежить знания, и полноценный математический курс для аналитиков данных.
На вебинаре «Какая математика нужна аналитику и специалисту по Data Science» спикер Ольга Матушевич, наставник курса «Анализ данных» расскажет:
— какую именно математику нужно знать, чтобы зайти в IT;
— как нормально хорошо зарабатывать;
— как решать интересные и сложные задачи;
— как стать супер-экспертом;
— примеры реальных рабочих задач на каждом из этих уровней;
— список тем/учебников/материалов под каждый уровень.
Приходите 13 декабря в 15:00
#вопрос45
Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?
Решение будет вечером.
#вопросы #собеседование
Трюк дня. Как в sql добавить к datetime 7 дней
Нужно выбрать все столбики в end_time
и добавить к ним 7 дней. Примерный код:
select * from purchases where end_time > Cast('2022-*-*' as datetime)+7Решение будет вечером.
Решение сегодняшней задачи на логику и мышление.
На мяче или любом другом сферическом предмете. Называется такой прямоугольник - сферический.
#логика
Трюк дня. Как проверить существует ли уже база данных mysql?
Создавать базу данных только в случае если она еще не существует:
CREATE DATABASE IF NOT EXISTS DBName;#tips Читать полностью…
Ответ на #вопрос43
0 - это число.
NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.
#вопросы #собеседование
Трюк дня. Как отфильтровать неправильные номера в таблице номеров
insert into phones
with t as (select
ph.id,
unnest(ph.phones) as phone
FROM
phones ph )
select
id,
array_agg(phone) as phones
from
t
where phone like '%2%' // << место с фильтрацией "неверных" номеров
group by
id
on conflict(id) do update set phones = excluded.phones
#tips
Читать полностью…
Решение сегодняшней задачи на логику и мышление.
Вместо знака вопроса должно стоять число 66. Если двигаться по часовой стрелке начиная с 4, каждое последующее число равно удвоенному предыдущему, из которого вычли двойку.
4 × 2 − 2 = 8 − 2 = 6.
6 × 2 − 2 = 12 − 2 = 10.
10 × 2 − 2 = 20 − 2 = 18.
18 × 2 − 2 = 36 − 2 = 34.
34 × 2 − 2 = 68 − 2 = 66.
#логика
Что нового в SQL Server 2022?
🔥 Присоединяйтесь 27 декабря в 20:00 к открытому уроку «Что нового в SQL Server 2022? » — https://otus.pw/NrPiB/
В SQL Server 2022 появилось довольно много новшеств. На занятии поговорим как новые фичи упростят жизнь разработчикам и DBA.
👩💻 Преподаватель Кристина Кучерова — Тимлид\архитектор БД в US-based startup Кремниевой долины. Ex-Архитектор модели данных в Сбербанке России.
⚠️ Занятие является частью онлайн-курса «MS SQL Server Developer», созданного для разработчиков, которые хотят понять, как устроены БД, научиться писать сложные запросы или заниматься проектированием на SQL профессионально.
👉 Пройдите вступительный тест, чтобы записаться на урок — https://otus.pw/NrPiB/
Трюк дня. SQL - Вернуть другую строку, если не найдена первая
Как вернуть строку, если не найдена первая.
Например: SELECT * FROM TEST WHERE ID = '1'
ИНАЧЕ SELECT * FROM TEST WHERE ID = '2'
.
Решение будет вечером.
#tips
#вопрос42
Учитывая данные из таблицы A:
xНапишите один запрос для вычисления суммы всех положительных и отрицательных значений x.
------
2
-2
4
-4
-3
0
2
Решение сегодняшней задачи на логику и мышление.
Вместо знака вопроса должно стоять число 179. Если двигаться по часовой стрелке начиная с 3, то каждое последующее число равно удвоенному предыдущему, к которому прибавили 1, 3, 5, 7, 9.
3 × 2 + 1 = 7.
7 × 2 + 3 = 17.
17 × 2 + 5 = 39.
39 × 2 + 7 = 85.
85 × 2 + 9 = 179.
#логика
Трюк дня. Сохранение порядка сущностей в списке
Используйте коллекцию TreeSet
с помощью своего компаратора по приоритету или добавляйте в ту коллекцию, в которой Вы храните сейчас, с помощью компаратора по приоритету. Таким образом Вы добьетесь порядка в коллекции.
Если Вы используете ORM-системы, то они автоматически восстановят из базы данных коллекцию с правильным порядком.
#tips
Трюк дня. Сохранение порядка сущностей в списке
Есть список сущностей "todo"
, нужно помимо того, что бы сохранить его в базе по id
как то сохранить порядок, то есть если пользователь захотел задачу с id 20
выполнить вперед всех остальных, то она должна оказаться на самом верху, в не зависимости от того, какие у всех остальных задач id
.
Как это сделать учитывая, что порядок одних и тех же задач в разных местах может быть разный, например в папке inbox
один, а в папке today
- уже другой порядок, хотя задачи одни и те же.
Как решить поставленную задачу?
Решение будет вечером.
#tips