분류 전체보기 128

[MySQL]ORDER BY

pno : project 테이블의 no mno : member 테이블의 no 클라이언트가 이런 요구를 했습니다. 프로젝트별로 정렬을 하되 여기에서 글을 쓴 사람이 있는 값부터 우선 정렬을 하고 없는 사람들은 그냥 no를 기준으로 정렬을 하라고... 21 / 5532 3 / 8026 20 / 8127 1 / 8155 4 / 0 5 / 0 ... 생략 ... 그러면 결과는 위와 같겠네요. 보통은 `pno` DESC, `mno` ASC 이런 식으로 하면 되겠지만 칼럼 값이 0인 애들이 있습니다. 내림차순이면 상관이 없는데 하필이면 오름차순이네요. 그러면 0인 애들이 제일 상단에 가게 됩니다. mno 칼럼 값이 0인 애들은 1000000000 이 값을 넣어 버리고 no 칼럼을 기준으로 정렬을 하면 됩니다. SE..

SQL 2020.02.14

[MySQL]LIKE IN 비슷하게...

칼럼 하나에서 여러 단어로 검색할 때 LIKE를 여러 번 써야 하는 수가 있습니다. SELECT * FROM #table WHERE `column` LIKE '%aaa%' OR `column` LIKE '%bbb%` OR `column` LIKE `%ccc%' 너무 무식하게 길어집니다. 이런 때 REGEXP 연산자를 써서 SELECT * FROM #table WHERE `column` REGEXP 'aaa|bbb|ccc' 이렇게 줄여서 쓰면 됩니다. 반대의 경우도 있습니다. 칼럼 여러 개에 하나의 단어로 검색할 때입니다. 이런 때는 아래처럼 쿼리를 씁니다. SELECT * FROM #table WHERE `column1` LIKE '%aaa%' OR `column2` LIKE '%aaa%` OR `col..

SQL 2020.02.13