๋ฌธ์
2๋ฒ ํ์ง์ด ๋ณด์ ํ์ง ์์ผ๋ฉด์ 1๋ฒ์ด๋ 3๋ฒ ํ์ง์ ๋ณด์ ํ๊ณ ์๋
๋์ฅ๊ท ๊ฐ์ฒด์ ์(COUNT)๋ฅผ ์ถ๋ ฅํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
1๋ฒ๊ณผ 3๋ฒ ํ์ง์ ๋ชจ๋ ๋ณด์ ํ๊ณ ์๋ ๊ฒฝ์ฐ๋ 1๋ฒ์ด๋ 3๋ฒ ํ์ง์ ๋ณด์ ํ๊ณ ์๋ ๊ฒฝ์ฐ์ ํฌํจํฉ๋๋ค.
ํ์ด
n๋ฒ ํ์ง์ ๋ณด์ ํ๊ณ ์๋ค = 2^(n-1) ์ & ์ฐ์ฐ์ ํ๋ฉด 2^(n-1)๊ฐ ๋์จ๋ค.
ex1. 1๋ฒ ํ์ง์ ๋ณด์ ํ๋ ค๋ฉด 2^(1-1) = 1 = 0001(2) ์ ์ฐ์ฐ์ ํด์ผํ๋ค.
GENOTYPE = 11 = 1011(2) ๋ผ๋ฉด, 1011 & 0001 = 0001 -> ํ์ง ๋ณด์ ํจ
GENOTYPE = 6 = 0110(2) ๋ผ๋ฉด, 0110 & 0001 = 0000 -> ํ์ง ๋ณด์ ์ํจ
ex2. 3๋ฒ ํ์ง์ ๋ณด์ ํ๋ ค๋ฉด 2^(3-1) = 4 = 0100(2) ์ ์ฐ์ฐ์ ํด์ผํ๋ค.
GENOTYPE = 11 = 1011(2) ๋ผ๋ฉด, 1011 & 0100 = 0000 -> ํ์ง ๋ณด์ ์ํจ
GENOTYPE = 5 = 0101(2) ๋ผ๋ฉด, 0101 & 0100 = 0100 -> ํ์ง ๋ณด์ ํจ
select count(*) as COUNT
from ECOLI_DATA
where (GENOTYPE&1=1 or GENOTYPE&4=4) and GENOTYPE&2!=2