add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE t (
customer VARCHAR(50),
product VARCHAR(50),
purchase_date DATE
);
CREATE TABLE
INSERT INTO t (customer, product, purchase_date)
VALUES
('vik', 'office', '2022-04-21'),
('vik', 'office2', '2021-02-21'),
('vik', 'office', '2021-01-21'),
('vik', 'office2', '2023-02-21'),
('abc', 'office', '2022-02-01'),
('abc', 'office', '2021-02-01');
INSERT 0 6
SELECT
customer, product, MIN(purchase_date) as purchase_date
FROM t
GROUP BY
customer, product
customer product purchase_date
abc office 2021-02-01
vik office 2021-01-21
vik office2 2021-02-21
SELECT 3
SELECT
*
FROM (
SELECT
customer, product, purchase_date
, row_number() over(partition by customer, product
order by purchase_date ASC) as rn
FROM t
) d
WHERE rn = 1
customer product purchase_date rn
abc office 2021-02-01 1
vik office 2021-01-21 1
vik office2 2021-02-21 1
SELECT 3