반응형
정수의 특정 비트가 설정된 게시 테이블에서 선택 쿼리를 수행해야합니다. The integer represents a set of categories in a bitmask: 예 :
1 => health
2 => marketing
3 => personal
4 => music
5 => video
6 => design
7 => fashion
8 => ......
데이터 예 :
id | categories | title
1 | 11 | bla bla
2 | 48 | blabla, too
특정 카테고리로 표시된 게시물을 선택하는 mysql 쿼리가 필요합니다. Let's say "all video postings" 즉, 카테고리 열의 5 번째 비트가 설정된 게시물의 결과 집합이 필요합니다 (예 : 16,17,48 ....).
SELECT * FROM postings WHERE ....????
어떤 아이디어?
해결 방법
WHERE categories & 16 = 16
각 비트에 대해 다음 값을 사용하여 16
값을 대체하십시오.
1 = 1
2 = 2
3 = 4
4 = 8
5 = 16
6 = 32
7 = 64
8 = 128
이것은 대부분의 프로그래머가 생각하는 방식과 반대되는 최하위 비트에서 가장 높은 비트로 이동합니다. 그들은 또한 0에서 시작합니다.
참조 페이지 https://stackoverflow.com/questions/9118111
반응형
'MySql' 카테고리의 다른 글
MySQL 한 테이블의 여러 열을 다른 테이블의 단일 열에 결합 (0) | 2020.09.21 |
---|---|
MySQL 고유 한 값과 최대 날짜가있는 행 선택 (0) | 2020.09.21 |
MySQL Excel에서 데이터를 내 보낸 다음 PHP를 사용하여 Excel에서 가져옵니다. DB는 MySQL (0) | 2020.09.21 |
MySQL while 루프 후 PHP 에코 배열 값 (0) | 2020.09.21 |
MySQL 그룹에서 반환 한 그룹 수를 계산하는 방법은 무엇입니까? (0) | 2020.09.20 |
댓글