Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize Online / PHPize Online  /  SQLtest Online

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.

Copy Format Clear
CREATE TABLE coins ( dt VARCHAR(16), avg_price NUMERIC, tx_cnt NUMERIC, tx_vol NUMERIC, active_addr_cnt NUMERIC, symbol VARCHAR(8), full_nm VARCHAR(128), open_price NUMERIC, high_price NUMERIC, low_price NUMERIC, close_price NUMERIC, vol NUMERIC, market NUMERIC ); INSERT INTO coins (dt, avg_price, tx_cnt, tx_vol, active_addr_cnt, symbol, full_nm, open_price, high_price, low_price, close_price, vol, market) VALUES ('2024-04-01', 100, 1000, 50000, 200, 'BTC', 'Bitcoin', 100, 110, 90, 100, 50000, 2000000), ('2024-04-02', 100, 1050, 52000, 220, 'BTC', 'Bitcoin', 100, 110, 90, 100, 52000, 2100000), ('2024-04-03', 100, 1100, 54000, 240, 'BTC', 'Bitcoin', 100, 110, 90, 100, 54000, 2200000), ('2024-04-04', 100, 1150, 56000, 260, 'BTC', 'Bitcoin', 100, 110, 90, 100, 56000, 2300000), ('2024-04-05', 100, 1200, 58000, 280, 'BTC', 'Bitcoin', 100, 110, 90, 100, 58000, 2400000), ('2024-04-06', 100, 1250, 60000, 300, 'BTC', 'Bitcoin', 100, 110, 90, 100, 60000, 2500000), ('2024-04-07', 100, 1300, 62000, 320, 'BTC', 'Bitcoin', 100, 110, 90, 100, 62000, 2600000), ('2024-04-08', 100, 1350, 64000, 340, 'BTC', 'Bitcoin', 100, 110, 90, 100, 64000, 2700000), ('2024-04-09', 100, 1400, 66000, 360, 'BTC', 'Bitcoin', 100, 110, 90, 100, 66000, 2800000), ('2024-04-10', 100, 1450, 68000, 380, 'BTC', 'Bitcoin', 100, 110, 90, 100, 68000, 2900000), ('2024-04-11', 50, 800, 40000, 180, 'ETH', 'Ethereum', 50, 60, 40, 50, 40000, 1500000), ('2024-04-12', 50, 850, 42000, 200, 'ETH', 'Ethereum', 50, 60, 40, 50, 42000, 1600000), ('2024-04-13', 50, 900, 44000, 220, 'ETH', 'Ethereum', 50, 60, 40, 50, 44000, 1700000), ('2024-04-14', 50, 950, 46000, 240, 'ETH', 'Ethereum', 50, 60, 40, 50, 46000, 1800000), ('2024-04-15', 50, 1000, 48000, 260, 'ETH', 'Ethereum', 50, 60, 40, 50, 48000, 1900000), ('2024-04-16', 50, 1050, 50000, 280, 'ETH', 'Ethereum', 50, 60, 40, 50, 50000, 2000000), ('2024-04-17', 50, 1100, 52000, 300, 'ETH', 'Ethereum', 50, 60, 40, 50, 52000, 2100000), ('2024-04-18', 50, 1150, 54000, 320, 'ETH', 'Ethereum', 50, 60, 40, 50, 54000, 2200000), ('2024-04-19', 50, 1200, 56000, 340, 'ETH', 'Ethereum', 50, 60, 40, 50, 56000, 2300000), ('2024-04-20', 50, 1250, 58000, 360, 'ETH', 'Ethereum', 50, 60, 40, 50, 58000, 2400000); CREATE OR REPLACE FUNCTION count_non_volatile_days(full_nm TEXT) RETURNS VOID AS $$ DECLARE count_days INTEGER; prev_price NUMERIC; current_price NUMERIC; BEGIN SELECT COUNT(*) INTO count_days FROM ( SELECT *, LAG(close_price) OVER (ORDER BY dt) AS prev_close_price FROM coins WHERE full_nm = count_non_volatile_days.full_nm ) AS subquery WHERE prev_close_price IS NOT NULL AND close_price = prev_close_price; IF count_days IS NULL THEN RAISE EXCEPTION 'Crypto currency with name "%"' || full_nm || '" is absent in database!' USING ERRCODE = '02000'; END IF; END; $$ LANGUAGE plpgsql;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear