Group only certain rows with GROUP BY
SCHEMA I have the following set-up in MySQL database: CREATE TABLE items ( id SERIAL, name VARCHAR(100), group_id INT, price DECIMAL(10,2), KEY items_group_id_idx (group_id), PRIMARY KEY (id) ); INSERT INTO items VALUES (1, 'Item A', NULL, 10), (2, 'Item B', NULL, 20), (3, 'Item C', NULL, 30), (4, 'Item D', 1, 40), (5, 'Item E', 2, 50), (6, 'Item F', 2, 60), (7, 'Item G', 2, 70); PROBLEM I need to select: All items with group_id that has NULL value, and One item from each group identified by group_id having the lowest price. EXPECTED RESULTS +----+--------+----------+-------+ | id | name |