1
заимствование из this question, скажем, есть три флага: 4 => читать, 2 => запись, 1 => выполнить и таблица выглядит следующим образом:Как лучше всего выполнять группировку в «бит-поле»?
file_id | fsize | permissions
-----------+---------+---------------
1 | 200 | 6 (<-- 6 = 4 + 2 = read + write)
2 | 300 | 4 (<-- 4 = 4 = read)
3 | 400 | 3 (<-- 3 = 2 + 1 = write + execute)
4 | 500 | 1 (<-- 1 = execute)
Учитывая это поле может содержать несколько флагов, я необходимо вернуть результат, сгруппированный этими тремя флагами, примерно так:
| fsize | permissions
+---------+---------------
| 900 | 1
| 600 | 2
| 500 | 4
Каков наилучший способ для этого?