.bail ON .mode table --wrap 0 SELECT datetime(value, 'unixepoch') 'DB version' FROM rb_db_lov WHERE key = 'data_timestamp'; +---------------------+ | DB version | +---------------------+ | 2025-07-12 07:55:29 | +---------------------+ -- Parts, which have multiple non-`NULL` image URLs, SELECT dense_rank() OVER (ORDER BY part_num, color_id) '#' , part_num, color_id, img_url, count(DISTINCT set_num) num_sets, set_num 'example set_num' FROM inventory_parts ip JOIN (SELECT part_num, color_id FROM inventory_parts GROUP BY 1, 2 HAVING count(DISTINCT img_url) > 1 -- use this to include null/non-null differences: -- HAVING count(DISTINCT coalesce(img_url, '!')) > 1 ) USING (part_num, color_id) JOIN inventories i ON i.id = ip.inventory_id GROUP BY part_num, color_id, img_url ORDER BY part_num, color_id, img_url; -- and which have both `NULL` and non-`NULL` image URLs. SELECT dense_rank() OVER (ORDER BY part_num, color_id) '#' , part_num, color_id, img_url, count(DISTINCT set_num) num_sets, set_num 'example set_num' FROM inventory_parts ip JOIN (SELECT part_num, color_id FROM inventory_parts GROUP BY 1, 2 HAVING count(img_url) > 0 AND count(*) > count(img_url) ) USING (part_num, color_id) JOIN inventories i ON i.id = ip.inventory_id GROUP BY part_num, color_id, img_url ORDER BY part_num, color_id, img_url; +----+------------+----------+-----------------------------------------------------------+----------+-----------------+ | # | part_num | color_id | img_url | num_sets | example set_num | +----+------------+----------+-----------------------------------------------------------+----------+-----------------+ | 1 | 2756pr0019 | 15 | | 2 | 1017-1 | | 1 | 2756pr0019 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 2 | 2756pr0020 | 15 | | 1 | 1017-1 | | 2 | 2756pr0020 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 3 | 2756pr0021 | 15 | | 2 | 1017-1 | | 3 | 2756pr0021 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 4 | 2756pr0022 | 15 | | 1 | 1017-1 | | 4 | 2756pr0022 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 5 | 2756pr0023 | 15 | | 2 | 1017-1 | | 5 | 2756pr0023 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 6 | 2756pr0024 | 15 | | 1 | 1017-1 | | 6 | 2756pr0024 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 7 | 2756pr0025 | 15 | | 2 | 1017-1 | | 7 | 2756pr0025 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 8 | 2756pr0026 | 15 | | 1 | 1017-1 | | 8 | 2756pr0026 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 9 | 2756pr0027 | 15 | | 2 | 1017-1 | | 9 | 2756pr0027 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 10 | 2756pr0028 | 15 | | 1 | 1017-1 | | 10 | 2756pr0028 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 11 | 2756pr0029 | 15 | | 2 | 1017-1 | | 11 | 2756pr0029 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 12 | 2756pr0030 | 15 | | 1 | 1017-1 | | 12 | 2756pr0030 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 13 | 2756pr0031 | 15 | | 2 | 1017-1 | | 13 | 2756pr0031 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 14 | 2756pr0032 | 15 | | 1 | 1017-1 | | 14 | 2756pr0032 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 15 | 2756pr0033 | 15 | | 2 | 1017-1 | | 15 | 2756pr0033 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 16 | 2756pr0034 | 15 | | 1 | 1017-1 | | 16 | 2756pr0034 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 17 | 2756pr0035 | 15 | | 2 | 1017-1 | | 17 | 2756pr0035 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 18 | 2756pr0036 | 15 | | 1 | 1017-1 | | 18 | 2756pr0036 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 19 | 2756pr0037 | 15 | | 2 | 1017-1 | | 19 | 2756pr0037 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 20 | 2756pr0038 | 15 | | 1 | 1017-1 | | 20 | 2756pr0038 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 21 | 2756pr0039 | 15 | | 2 | 1017-1 | | 21 | 2756pr0039 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 22 | 2756pr0040 | 15 | | 1 | 1017-1 | | 22 | 2756pr0040 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 23 | 2756pr0041 | 15 | | 2 | 1017-1 | | 23 | 2756pr0041 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 24 | 2756pr0042 | 15 | | 1 | 1017-1 | | 24 | 2756pr0042 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 25 | 2756pr0043 | 15 | | 2 | 1017-1 | | 25 | 2756pr0043 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 26 | 2756pr0044 | 15 | | 1 | 1017-1 | | 26 | 2756pr0044 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 27 | 2756pr0045 | 15 | | 2 | 1017-1 | | 27 | 2756pr0045 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 28 | 2756pr0046 | 15 | | 1 | 1017-1 | | 28 | 2756pr0046 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 29 | 2756pr0047 | 15 | | 2 | 1017-1 | | 29 | 2756pr0047 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 30 | 2756pr0048 | 15 | | 1 | 1017-1 | | 30 | 2756pr0048 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 31 | 2756pr0049 | 15 | | 2 | 1017-1 | | 31 | 2756pr0049 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 32 | 2756pr0051 | 15 | | 2 | 1017-1 | | 32 | 2756pr0051 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 33 | 2756pr0052 | 15 | | 1 | 1017-1 | | 33 | 2756pr0052 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 34 | 2756pr0053 | 15 | | 2 | 1017-1 | | 34 | 2756pr0053 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 35 | 2756pr0054 | 15 | | 1 | 1017-1 | | 35 | 2756pr0054 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 36 | 2756pr0055 | 15 | | 2 | 1017-1 | | 36 | 2756pr0055 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 37 | 2756pr0056 | 15 | | 1 | 1017-1 | | 37 | 2756pr0056 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 38 | 2756pr0057 | 15 | | 2 | 1017-1 | | 38 | 2756pr0057 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 39 | 2756pr0058 | 15 | | 1 | 1017-1 | | 39 | 2756pr0058 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 40 | 2756pr0059 | 15 | | 2 | 1017-1 | | 40 | 2756pr0059 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 41 | 2756pr0060 | 15 | | 1 | 1017-1 | | 41 | 2756pr0060 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 42 | 2756pr0061 | 15 | | 2 | 1017-1 | | 42 | 2756pr0061 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 43 | 2756pr0062 | 15 | | 1 | 1017-1 | | 43 | 2756pr0062 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 44 | 2756pr0064 | 15 | | 1 | 1017-1 | | 44 | 2756pr0064 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 45 | 2756pr0065 | 15 | | 2 | 1017-1 | | 45 | 2756pr0065 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 46 | 2756pr0066 | 15 | | 1 | 1017-1 | | 46 | 2756pr0066 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 47 | 2756pr0067 | 15 | | 2 | 1017-1 | | 47 | 2756pr0067 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | | 48 | 2756pr0069 | 15 | | 2 | 1017-1 | | 48 | 2756pr0069 | 15 | https://cdn.rebrickable.com/media/parts/ldraw/15/2756.png | 1 | 1016-1 | +----+------------+----------+-----------------------------------------------------------+----------+-----------------+