У меня есть таблица sqlite, когда в каждой таблице есть поле, которое я использую для хранения перечисления битмаски.Битмассная группировка с использованием SQLite
Я хотел бы выполнить запрос, который будет возвращать мне все результаты и группы всех перечислений в одно поле:
Услуги: имя TEXT, INTEGER службы, INTEGER маска
SELECT service,XXX FROM Services GROUP BY service
В принципе, я бы например, XXX - результат битмаскировки OR (|) всех масок на эту службу.
данные:
'a1',1,1
'a2',1,2,
'a3',1,4,
'a4',1,8,
'b1',2,1,
'b2',2,3,
'b3',2,2
Так как результат, я хотел бы получить следующие строки:
1,15 (1|2|4|8)
2,3 (1|3|2)
Благодарность
EDIT: В моем оригинальном вопросе, я «Я забыл упомянуть, что каждая маска не является одним битом, но может быть маской из нескольких бит (я изменил второй пример, чтобы отразить в).
Я думаю, что в вашем примере вы имели в виду результаты, чтобы показать 2,3, так как это (1 | 2 | 2) на основе вашего примера – tawman
вы правы - спасибо. Я исправил это. –
Знаете ли вы все возможные значения маски растрового изображения раньше времени, которое вы будете использовать? то есть 1, 2, 4, ... 4096? – tawman