Data Science. SQL hub
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo #VRHSZ
Mostrar más📈 Análisis del canal de Telegram Data Science. SQL hub
El canal Data Science. SQL hub (@sqlhub) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 36 043 suscriptores, ocupando la posición 3 729 en la categoría Tecnologías y Aplicaciones y el puesto 17 585 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 36 043 suscriptores.
Según los últimos datos del 05 noviembre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 75, y en las últimas 24 horas de -7, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 9.27%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 3.91% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 3 342 visualizaciones. En el primer día suele acumular 1 408 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 8.
- Intereses temáticos: El contenido se centra en temas clave como sql, индекс, postgres, index, sqlite.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“По всем вопросам- @workakkk
@itchannels_telegram - 🔥лучшие ит-каналы
@ai_machinelearning_big_data - Machine learning
@pythonl - Python
@pythonlbooks- python книги📚
@datascienceiot - ml книги📚
РКН: https://vk.cc/cIi9vo
#VRHSZ”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 06 noviembre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
create table events (
id serial primary key,
event_time tstzrange, -- дата и время начала и конца
constraint no_screening_time_overlap exclude using gist (
event_time WITH && -- проверка на пересечение
)
);
insert into events (event_time) values ('["2023-01-01 19:00:00", "2023-01-01 20:45:00"]');
После этого Вы можете попробовать вставить еще олдну строку с интервалом пересекающим один из уже существующих в таблице. Скорей всего у Вас не получится и база данных вернет ошибку. Если же Вы преуспеете — отпишитесь в комментах!
Так же как и UNIQUE, ограничение EXCLUDE может налагаться на нруппу столбцов.
Например Вы можете использовать колонки event_start и event_end типа timestamp и также ограничить наложения по времени. Ниже пример:
CREATE TABLE events (
event_id SERIAL PRIMARY KEY,
event_name VARCHAR(100) NOT NULL,
event_start TIMESTAMPTZ NOT NULL,
event_end TIMESTAMPTZ NOT NULL,
EXCLUDE USING GIST (event_start WITH &&, event_end WITH &&)
);
Аналогично временным диапазонам можно накладывать ограничения на диапазону чисел:
CREATE TABLE ranges (
range_id SERIAL PRIMARY KEY,
start_value INTEGER NOT NULL,
end_value INTEGER NOT NULL,
EXCLUDE USING GIST (int4range(start_value, end_value, '[]') WITH &&)
);
В этом примере создается таблица ranges, которая содержит числовые диапазоны. Оператор EXCLUDE с индексом GiST указывает, что числовые диапазоны в столбцах start_value и end_value не могут перекрываться.
@sqlhubCREATE TABLE Colleges (
college_id INT PRIMARY KEY,
college_code VARCHAR(20),
college_country VARCHAR(20) DEFAULT 'Japan'
);
Здесь значением по умолчанию для столбца college_country является Japan.
Если мы попытаемся сохранить значение NULL в столбце college_country, то значением станет Japan. Например:
-- Вставляем значение 'Japan' в столбец college_country
INSERT INTO Colleges (college_id, college_code)
VALUES (1, 'ARP76');
-- Вставляем значение 'UAE' в столбец college_country
INSERT INTO Colleges (college_id, college_code, college_country)
VALUES (2, 'JWS89', 'UAE');
Ограничение DEFAULT с ALTER TABLE
Мы также можем добавить ограничение DEFAULT к существующему столбцу с помощью оператора ALTER TABLE. Например:
SQL Server
ALTER TABLE Colleges
ADD CONSTRAINT country_default
DEFAULT 'Japan' FOR college_country;
PostgreSQL
ALTER TABLE Colleges
ALTER COLUMN college_code SET DEFAULT 'Japan';
MySQL
ALTER TABLE Colleges
ALTER college_country SET DEFAULT 'Japan';
Oracle
ALTER TABLE Colleges
MODIFY college_country DEFAULT 'Japan';
Здесь значением по умолчанию для столбца college_country является Japan, если кто-то попытается вставить NULL.
Удалить ограничение DEFAULT
Мы можем удалить ограничение DEFAULT, используя оператор DROP. Например:
SQL Server, PostgreSQL, Oracle
ALTER TABLE Colleges
ALTER COLUMN college_country DROP DEFAULT;
MySQL
ALTER TABLE Colleges
ALTER college_country DROP DEFAULT;
Здесь мы удаляем ограничение DEFAULT из столбца college_country.
@sqlhubSELECT TOP 2 *
FROM Customers;
Здесь мы выбираем первые 2 строки из таблицы Customers (картинка1).
Еще один пример:
SELECT TOP 2 first_name, last_name
FROM Customers;
Здесь мы выбираем поля first_name и last_name из первых 2 строк таблицы Customers.
Примечание: Ключевое слово TOP поддерживается не во всех системах управления базами данных (СУБД). Различные СУБД используют разные ключевые слова для выбора фиксированного количества строк. Например:
➡️ ключевое слово TOP используется в SQL Server, MS Access;
➡️ ключевое слово LIMIT используется в MySQL, PostgreSQL, SQLite;
➡️ ключевое слово FETCH FIRST используется в Oracle.
LIMIT в SQL
Ключевое слово LIMIT используется для выбора фиксированного количества строк в MySQL, PostgreSQL и SQLite.
Например:
SELECT first_name, age
FROM Customers
LIMIT 2;
Здесь мы выбираем первые 2 строки из таблицы Customers.
LIMIT с OFFSET в SQL
Ключевое слово OFFSET используется для указания места, откуда следует выбирать строки.
Например:
SELECT first_name, last_name
FROM Customers
LIMIT 2 OFFSET 3;
Здесь мы выбираем две строки, начиная с четвертой строки. OFFSET 3 означает, что первые 3 строки исключены (картинка 2).
FETCH FIRST в SQL
Предложение FETCH FIRST <количество_строк> ROWS ONLY используется в СУБД Oracle для выбора фиксированного количества строк. Например:
SELECT *
FROM Customers
FETCH FIRST 2 ROWS ONLY;
Здесь мы выбираем первые 2 строки из таблицы Customers.
@sqlhubselect
salesid
,dateid
,sellerid
,buyerid
,qty
,first_value(dateid) over (partition by buyerid order by dateid) as first_purchase_dt
,lag(dateid) over (partition by buyerid order by dateid) as previous_purchase_dt
,sum(qty) over (partition by buyerid order by dateid rows between unbounded preceding and current row) as moving_qty
,row_number() over (partition by buyerid order by dateid) as order_number
from winsales
;
Пишите свое решение в комментариях👇
@sqlhubSELECT *
FROM Customers
WHERE last_name LIKE 'R%';
Здесь % (означает ноль или более символов) является подстановочным знаком (wildcard). Мы выбираем клиентов, чья фамилия (last_name) начинается с буквы R, за которой следует ноль или более символов.
▪Читать дальше
@sqlhubwith decoded as (
select
"transaction_id"
,"is_successful"
,"ts"
,decode("is_successful", 'true', 0, 'false', 1, 2) as "order_is_successful"
from transactions
),
ordered as (
select
"transaction_id"
,"is_successful"
,"ts"
,row_number() over(partition by "transaction_id" order by "order_is_successful" asc, "ts" desc) as rn
from decoded
)
select
"transaction_id"
,"is_successful"
,"ts"
from ordered
where rn = 1
;
Результат
Пишите свое решение в комментариях👇
@sqlhub