Добавить в корзинуПозвонить
Найти в Дзене
SQL аналитика

Выгрузка продаж из Excel не группируется по дням: где ломается дата и как получить ровную выручку

```sql SELECT DATE(sale_date) AS clean_date, SUM(amount) AS daily_revenue FROM sales GROUP BY DATE(sale_date) ORDER BY clean_date; ``` Что делать: Функция DATE обрезает часы и минуты, оставляя только календарный день. Группировка и выборка используют одну и ту же очищенную дату, чтобы избежать ошибок и задвоений. Как пользоваться: Скопируйте запрос в редактор SQL. Замените sale_date и amount на названия ваших столбцов. Если ваш диалект SQL не поддерживает DATE, используйте CAST(sale_date AS DATE). ```sql SELECT CAST(sale_date AS DATE) AS clean_date, SUM(amount) AS daily_revenue FROM sales WHERE sale_date IS NOT NULL GROUP BY CAST(sale_date AS DATE) ORDER BY clean_date; ``` Что делать: Оператор CAST превращает текстовое поле в настоящий тип даты. Условие WHERE отфильтровывает пустые ячейки, чтобы запрос не падал с ошибкой при конвертации строк. Как пользоваться: Используйте этот код, если Excel выгрузил даты как текст. Убедитесь, что формат текста в Excel совпадает с ожидаемым, иначе CA
Оглавление

Блок кода 1. Отсекаем время через DATE

```sql
SELECT DATE(sale_date) AS clean_date,
SUM(amount) AS daily_revenue
FROM sales
GROUP BY DATE(sale_date)
ORDER BY clean_date;
```

Что делать: Функция DATE обрезает часы и минуты, оставляя только календарный день. Группировка и выборка используют одну и ту же очищенную дату, чтобы избежать ошибок и задвоений.

Как пользоваться: Скопируйте запрос в редактор SQL. Замените sale_date и amount на названия ваших столбцов. Если ваш диалект SQL не поддерживает DATE, используйте CAST(sale_date AS DATE).

Блок кода 2. Преобразование текста в дату через CAST

```sql
SELECT CAST(sale_date AS DATE) AS clean_date,
SUM(amount) AS daily_revenue
FROM sales
WHERE sale_date IS NOT NULL
GROUP BY CAST(sale_date AS DATE)
ORDER BY clean_date;
```

Что делать: Оператор CAST превращает текстовое поле в настоящий тип даты. Условие WHERE отфильтровывает пустые ячейки, чтобы запрос не падал с ошибкой при конвертации строк.

Как пользоваться: Используйте этот код, если Excel выгрузил даты как текст. Убедитесь, что формат текста в Excel совпадает с ожидаемым, иначе CAST может вернуть ошибку и остановить выполнение.

Блок кода 3. Контрольная сверка итогов

```sql
SELECT COUNT(*) AS total_rows,
SUM(amount) AS total_sum
FROM sales
WHERE sale_date IS NOT NULL;
```

Что делать: Считает общее количество строк и сумму выручки до группировки. Это базовая проверка, которая показывает, сколько данных вообще есть в таблице для дальнейшей работы.

Как пользоваться: Запустите этот запрос перед основным отчетом. Сравните total_sum с автосуммой в исходном Excel-файле. Если числа совпадают, можно смело запускать группировку по дням.