SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
/*Создаём таблицу*/ create table t1 (fio varchar(40), data date, ostatok integer); /*Наполняем данными; предположение - данные есть на каждую дату*/ insert into t1 values ('Иванов', '2021-01-01', 1000), ('Иванов', '2021-01-02', 1000), ('Иванов', '2021-01-03', 800), ('Иванов', '2021-01-04', 700), ('Иванов', '2021-01-05', 700), ('Степанов', '2021-01-01', 2000), ('Степанов', '2021-01-02', 3000), ('Степанов', '2021-01-03', 3000), ('Степанов', '2021-01-04', 2000), ('Степанов', '2021-01-05', 3000), ('Еленина', '2021-01-01', 1500), ('Еленина', '2021-01-02', 1500), ('Еленина', '2021-01-03', 1500), ('Еленина', '2021-01-04', 1500), ('Еленина', '2021-01-05', 1500); /*Смотрим таблицу*/ select * from t1 order by fio, data; /*Создаём новую таблицу*/ create table t2 as (select t1.fio, t1.ostatok, t1.data start_date, cast(coalesce(lead(t1.data) over ( partition by t1.fio order by t1.data asc ) - INTERVAL '1 day', cast('2555-01-01' as date)) as date) finish_date /*Достраиваем дату окончания*/ from ( select t1.fio, t1.data, t1.ostatok, lag(t1.ostatok) over ( partition by t1.fio order by t1.data asc) ostatok_prev /*Смотрим предыдущий остаток*/ from t1 ) t1 where coalesce(t1.ostatok, 0) <> coalesce(t1.ostatok_prev,0) /*Оставляем даты, у которых остатки расходятся*/ ); /*Выводим данные из новой таблицы*/ select * from t2 order by fio, start_date; /*Проверяем, что все значения совпадают*/ select t1.fio, t1.ostatok ostatok_etalon, t2.ostatok ostatok_proverka, t1.data, t2.start_date from t1 left join t2 on t1.fio = t2.fio and t1.data between t2.start_date and t2.finish_date order by t1.fio, t1.data;
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear