Telegram Group & Telegram Channel
Как проверить свой SQL код на адекватность?


🔸1. Нужно понимать диапазон значений для показателей, которые ты считаешь.

Например, если я пишу SQL запрос для интернет магазина для подсчета конверсии в первую покупку, то знаю, что диапазон значений этого показателя 0-100%. Если получилось, что то вне этого диапазона, то где-то ошибка.

100% конверсии в первую покупку я тоже никогда не видел. В реальности диапазон ещё меньше, обычно 0-10%. Т.е. все что вне этого диапазона это подозрительно.

🔸 2. Обычно запрос представляет из себя набор отдельных подзапросов - CTE.

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

🔸 3. После того как написал sql запрос можно сделать кросс чек и сравнить данные исходных таблиц и данные конечной таблицы.

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

🔸 4. Если у тебя есть какая-то система с исходными данными, то можно сравнить рассчитанный на SQL показатель с показателем в этой системе.

Например у меня в интерфейсе Яндекс метрики по сегменту мобильных устройств конверсия 3%, а на сырых данных я насчитал 10%, довольно большое расхождение, нужно перепроверить.



group-telegram.com/y_borzilo/943
Create:
Last Update:

Как проверить свой SQL код на адекватность?


🔸1. Нужно понимать диапазон значений для показателей, которые ты считаешь.

Например, если я пишу SQL запрос для интернет магазина для подсчета конверсии в первую покупку, то знаю, что диапазон значений этого показателя 0-100%. Если получилось, что то вне этого диапазона, то где-то ошибка.

100% конверсии в первую покупку я тоже никогда не видел. В реальности диапазон ещё меньше, обычно 0-10%. Т.е. все что вне этого диапазона это подозрительно.

🔸 2. Обычно запрос представляет из себя набор отдельных подзапросов - CTE.

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

🔸 3. После того как написал sql запрос можно сделать кросс чек и сравнить данные исходных таблиц и данные конечной таблицы.

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

🔸 4. Если у тебя есть какая-то система с исходными данными, то можно сравнить рассчитанный на SQL показатель с показателем в этой системе.

Например у меня в интерфейсе Яндекс метрики по сегменту мобильных устройств конверсия 3%, а на сырых данных я насчитал 10%, довольно большое расхождение, нужно перепроверить.

BY Борзило


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/y_borzilo/943

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

This provided opportunity to their linked entities to offload their shares at higher prices and make significant profits at the cost of unsuspecting retail investors. The next bit isn’t clear, but Durov reportedly claimed that his resignation, dated March 21st, was an April Fools’ prank. TechCrunch implies that it was a matter of principle, but it’s hard to be clear on the wheres, whos and whys. Similarly, on April 17th, the Moscow Times quoted Durov as saying that he quit the company after being pressured to reveal account details about Ukrainians protesting the then-president Viktor Yanukovych. Stocks dropped on Friday afternoon, as gains made earlier in the day on hopes for diplomatic progress between Russia and Ukraine turned to losses. Technology stocks were hit particularly hard by higher bond yields. "And that set off kind of a battle royale for control of the platform that Durov eventually lost," said Nathalie Maréchal of the Washington advocacy group Ranking Digital Rights.
from ua


Telegram Борзило
FROM American