🚩오늘의 문제는?
SQL - level 1
1.특정 형질을 가지는 대장균 찾기


SELECT CONV(GENOTYPE,10,2)
FROM ECOLI_DATA ;
SELECT ID,
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),1,1) AS GEN_1,
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),2,1) AS GEN_2,
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),3,1) AS GEN_3,
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),4,1) AS GEN_4
FROM ECOLI_DATA ;
1번이나 3번 형질을 보유하고 있는 대장균 개체의 수(COUNT)를 출력하기
(프로그래머스는 하나의 코드로 문장을 완성시켜야함.
SELECT가 아니라 CASE WHEN을 이용해서 값을 출력하도록 하자)
SELECT COUNT(*) AS COUNT
FROM ECOLI_DATA
WHERE (
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),1,1) = 1 OR
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),3,1) = 1) AND
(SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),2,1) != 1);
비트 연산 없이 구하기, 어느부분에서 틀린건지 모르겠음
SELECT COUNT(ID) AS COUNT
FROM ECOLI_DATA
WHERE
(SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),1,1) = 1 OR
SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),3,1) = 1) AND
(SUBSTRING(CONVERT(ROUND(CONV(GENOTYPE,10,2)),CHAR),2,1) =0);