Redshift employs "zone maps" to avoid unnecessary decompression. The min/max/count (plus a few others) of each column are stored for each compressed 1MB "block".
The content of each block is defined by the sort key. If your query aligns with the sort key (and can be answered from the zone map) then Redshift will not decompress the data unnecessarily.
All of the above is AFAIK from reading the docs and extensive use. YMMV, of course.