SQL Pro
5.07K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
Решение сегодняшней задачи на логику и мышление.

Вместо знака вопроса должно стоять число 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.

#логика
Трюк дня. Как отфильтровать неправильные номера в таблице номеров

Есть таблица Postgresql где есть поле типа character varying[]. В этом поле сохраняется номера телефонов в таком виде [+012345678901","+123456789012","2347587E+11"]. Как найти в этой таблице "неправильные" номера телефонов такого вида - 2347587E+11 и удалить? И чтобы после удаления массив выглядел так:

Массив до удаления [+012345678901","+123456789012","2347587E+11"]
Массив после удаления [+012345678901","+123456789012"]

Решение будет вечером.

#tips
👍1
Трюк дня. Как отфильтровать неправильные номера в таблице номеров

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
#вопрос43

Чем NULL отличается от 0

Решение будет вечером.

#вопросы #собеседование
👍5🤡2
Ответ на #вопрос43

0 - это число.

NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.

#вопросы #собеседование
🔥10👍4
Задача на мышление и логику.

Переложите только 2 спички так, чтобы получить такой же домик, но в зеркальном отражении:

Решение будет вечером.

#логика
💩19🤡12👍5👎2😁1🐳1
Решение сегодняшней задачи на логику и мышление.

#логика
💩9🔥6🌭5🤡3👎2😁2
Трюк дня. Как проверить существует ли уже база данных mysql?

Есть инсталяционный скрипт, нужно проверять существует ли уже база данных с заданным именем и вообще возможно ли создание бд (на некоторых хостингах стоит ограничение). Собственно в этом и вопрос, как это реализовать используя mysql.

Решение будет вечером.

#tips
👍3
Трюк дня. Как проверить существует ли уже база данных mysql?

Создавать базу данных только в случае если она еще не существует:

CREATE DATABASE IF NOT EXISTS DBName;

#tips
🤔10👍4🤡4👎2👌2👏1
#вопрос44

С помощью какого запроса можно удалить все записи из таблицы?

Решение будет вечером.

#вопросы #собеседование
😁2👍1
👍3
Задача на мышление и логику.

Каким образом нарисовать треугольник, чтобы все его углы были 90 градусов?

Решение будет вечером.

#логика
Решение сегодняшней задачи на логику и мышление.

На мяче или любом другом сферическом предмете. Называется такой прямоугольник - сферический.

#логика
💩6😁2🌚2🤡1🌭1
#вопрос45

Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?

Решение будет вечером.

#вопросы #собеседование
👍4
Ответ на #вопрос45

Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.

При использовании агрегирующих функций предложение GROUP BY сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.

#вопросы #собеседование
👍2
Задача на мышление и логику.

Повару древнего Египта необходимо варить яйцо в кипящей воде строго две минуты, но у него в наличии песочные часы только на три, четыре и пять минут. Как ему приготовить блюдо Фараону, не отклоняясь от времени, которое указано в рецепте?

Примечание: использовать часы можно на свое усмотрение: сразу все, только одни, по очереди или по несколько раз.

Решение будет вечером.

#логика
🤪3👍2🆒2😈1
Решение сегодняшней задачи на логику и мышление.

Когда вода закипит, повару нужно поставить двое часов: на три минуты и на пять. Когда песок в трехминутных часах закончится, сразу опускать яйцо, таким образом, оно будет вариться требуемое время.

#логика
👍9
Трюк дня. Query Builder как посчитать сколько раз записана одна и та же запись

У
нас есть кое-какие записи в БД:
{ "id": 2, "reason": "test","reportedUser": {id:123}}
{ "id": 3, "reason": "test","reportedUser": {id:123}}

Юзера можно зарепортить несколько раз и разные юзеры могут репортить одного юзера. Нужно получить запись в которой будет показано сколько раз был зарепорчен каждый юзер. Примерный вывод:
{ "id": 2, "reason": "test","reportedUser": {id:123} reportedCount:2}

Решение будет вечером.

#tips
👍3