Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
نمایش بیشتر📈 تحلیل کانال تلگرام Data Science. SQL hub
کانال Data Science. SQL hub (@sqlhub) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 35 840 مشترک است و جایگاه 3 816 را در دسته فناوری و برنامهها و رتبه 18 116 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 35 840 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 19 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -33 و در ۲۴ ساعت گذشته برابر 10 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 6.99% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.45% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 2 504 بازدید دریافت میکند. در اولین روز معمولاً 1 238 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 11 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند sql, индекс, postgres, index, sqlite تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 20 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
customers table:
+-------------+---------------+-------------+
| customer_id | customer_name | visit_count |
+-------------+---------------+-------------+
| 1 | John Doe | 5 |
| 2 | Jane Smith | 8 |
| 3 | Mike Johnson | 3 |
+-------------+---------------+-------------+
orders table:
+----------+-------------+------------+--------------+
| order_id | customer_id | order_date | total_amount |
+----------+-------------+------------+--------------+
| 1 | 1 | 2023-07-10 | 50.00 |
| 2 | 1 | 2023-07-12 | 75.00 |
| 3 | 2 | 2023-07-11 | 120.50 |
| 4 | 3 | 2023-07-15 | 25.75 |
+----------+-------------+------------+--------------+
Чаще всего мы работаем с таблицами не по отдельности, а с их объединениями. Приведенные выше таблицы можно объединить по столбцу customer_id.
• Теперь, если мы захотим вычислить что-то простое, например, общее количество посещений сайта или общее количество посещений по пользователям, то, если мы не будем очень внимательны, то, сами того не замечая, получим неверные результаты.
SELECT SUM(c.visit_count) AS total_visits
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
В результате будет получено 21 посещение, что неверно.
• И даже когда мы пытаемся просуммировать общее количество посещений на одного пользователя :
SELECT c.customer_id, c.customer_name, SUM(c.visit_count) AS total_visits
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_id, c.customer_name;
• Мы получаем неверные значения для одного из клиентов (клиента, имеющего более одного заказа):
customers table:
+-------------+---------------+--------------+
| customer_id | customer_name | total_visits |
+-------------+---------------+--------------+
| 1 | John Doe | 10 |
| 2 | Jane Smith | 8 |
| 3 | Mike Johnson | 3 |
+-------------+---------------+--------------+
• Мы можем увидеть, что пошло не так, взглянув на таблицу, полученную в результате объединения:
+-------------+---------------+--------------+----------+------------+--------------+
| customer_id | customer_name | visit_count | order_id | order_date | total_amount |
+-------------+---------------+--------------+----------+------------+--------------+
| 1 | John Doe | 5 | 1 | 2023-07-10 | 50.00 |
| 1 | John Doe | 5 | 2 | 2023-07-12 | 75.00 |
| 2 | Jane Smith | 8 | 3 | 2023-07-11 | 120.50 |
| 3 | Mike Johnson | 3 | 4 | 2023-07-15 | 25.75 |
+-------------+---------------+--------------+----------+------------+--------------+
Это явление называется fanout, и его трудно заметить, поскольку результаты получаются частично корректными.
📌 Продолжение
@sqlhub
DECLARE @name NVARCHAR(256) -- database name
DECLARE @path NVARCHAR(512) -- path for backup files
DECLARE @fileName NVARCHAR(512) -- filename for backup
DECLARE @fileDate NVARCHAR(40) -- used for file name
-- specify database backup directory
SET @path = 'C:\test\'
-- specify filename format
SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR READ_ONLY FOR
SELECT name
FROM master.sys.databases
WHERE name NOT IN ('master','model','msdb','tempdb') -- exclude these databases
AND state = 0 -- database is online
AND is_in_standby = 0 -- database is not read only for log shipping
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
Формат имени файла бэкапа базы данных DBname_YYYYDDMM_HHMMSS.BAK
Если вы хотите также включить время в название файла, вы можете заменить эту строку в приведенном выше сценарии:
-- specify filename format
SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112)
этой строкой:
-- specify filename format
SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(NVARCHAR(20),GETDATE(),108),':','')
Добавление дополнительных элементов в команду резервного копирования
Чтобы добавить дополнительные параметры, такие как прогресс резервного копирования (статистика) и сжатие, вы можете изменить эту строку в скрипте:
BACKUP DATABASE @name TO DISK = @fileName
этой строкой:
BACKUP DATABASE @name TO DISK = @fileName WITH STATS=10, COMPRESSION
Примечания
В этом скрипте мы обходим системные базы данных, но их также можно легко включить. Вы также можете превратить его в хранимую процедуру и передать имя базы данных или, если оставить NULL, создать резервные копии всех баз данных. В любом случае, этот скрипт даст вам отправную точку для простого резервного копирования всех ваших баз данных.
Кроме того, если вы хотите обойти некоторые пользовательские базы данных, вы можете включить их в раздел NOT IN.
Следующие шаги
Добавьте этот сценарий в свой набор инструментов (toolbox)
Измените этот сценарий и сделайте его хранимой процедурой, чтобы включить один или несколько параметров
Усовершенствуйте сценарий для использования дополнительных опций BACKUP
@sqlhub-- Select the top 5 employees based on salary
SELECT TOP 5 *
FROM Employees
ORDER BY Salary DESC;
2. Выбор части записей
SELECT TOP может также возвращать определенный процент записей. Это может быть полезно, когда необходимо получить подмножество данных.
-- Select the top 10% employees based on salary
SELECT TOP 10 PERCENT *
FROM Employees
ORDER BY Salary DESC;
3. Использование SELECT TOP с TIES
В некоторых случаях требуется вернуть все записи, имеющие общее значение с последней записью в выборке TOP. SELECT TOP WITH TIES позволяет это сделать.
-- Select the top 5 employees based on salary, include ties
SELECT TOP 5 WITH TIES *
FROM Employees
ORDER BY Salary DESC;
• Предложение SELECT TOP является универсальным инструментом SQL для ограничения и уточнения результатов запросов!
@sqlhubSELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
▪ Синтаксис MySQL:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
▪ Синтаксис Oracle:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
Примеры SQL TOP, LIMIT и ROWNUM
▪ Следующая инструкция SQL выбирает первые три записи из таблицы "Customers":
SELECT TOP 3 * FROM Customers;
▪ Следующий оператор SQL показывает эквивалентный пример использования предложения LIMIT:
SELECT * FROM Customers
LIMIT 3;
▪ Следующая инструкция SQL показывает соответствующий пример использования параметра ROWNUM:
SELECT * FROM Customers
WHERE ROWNUM <= 3;
Пример SQL TOP PERCENT
▪ Следующая инструкция SQL выбирает первые 50% записей из таблицы "Customers":
SELECT TOP 50 PERCENT * FROM Customers;
Добавить WHERE
▪ Следующая инструкция SQL выбирает первые три записи из таблицы "Customers", где страна - "Germany":
SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
▪ Следующий оператор SQL показывает эквивалентный пример использования LIMIT:
SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
▪ Следующая инструкция SQL показывает соответствующий пример использования параметра ROWNUM:
SELECT * FROM Customers
WHERE Country='Germany' AND ROWNUM <= 3;
@sqlhub
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
