tag: 내 이야기

mysql에서 group by에 문자열 합치기

2012년 2월 19일

MySQL에서 문자열을 병합할 때 concat()을 사용할 수 있는데 group by로 묶은 쿼리에서 concat()을 사용하면 해당하는 행 중 하나의 값만 도출된다. 합친 문자열이 필요한 경우 group_concat()을 사용해야 한다.

# `website` table
type      name
1         twitter
1         facebook
2         daum
2         naver

# select type, group_concat(name) as name from website group by type
type     name
1        twitter, facebook
2        daum, naver

Group by에서 사용할 수 있는 함수는 다음의 레퍼런스 문서에서 확인할 수 있다.

기본적인 php 컴파일 옵션

2012년 2월 16일

마지막에 –with-pdo-mysql 부분은 magento 설치시 요구사항이라 추가했고… 현재 설치된 php의 컴파일 옵션을 확인하는 방법은 config.nice를 보거나 phpinfo()를 쉘에서 실행해보면 알 수 있습니다.

./configure
  --with-mysql=/home/mysql
  --with-mysqli=/home/mysql/bin/mysql_config
  --with-apxs2=/home/apache/bin/apxs
  --with-gd
  --with-curl
  --with-jpeg-dir=/usr
  --with-freetype-dir=/usr
  --with-png-dir=/usr
  --with-xpm-dir=/usr
  --with-zlib
  --with-zlib-dir=/usr
  --with-gdbm
  --with-gettext
  --with-iconv
  --with-openssl
  --enable-gd-native-ttf
  --enable-exif
  --enable-magic-quotes
  --enable-sockets
  --enable-soap
  --enable-mbstring=all
  --enable-bcmath
  --with-libxml-dir=/usr/lib
  --enable-ftp
  --with-mcrypt
  --with-pdo-mysql

mysql의 enum 타입을 where절에서 사용하기

2012년 1월 19일

animal enum('코끼리','사자','호랑이','기린')

위와 같은 enum 필드가 있다고 하자.

SELECT animal from tbl where animal < '호랑이'

이러면 코끼리, 사자가 출력될 것 같지만 코끼리, 사자, 기린이 출력된다. enum이 각각의 index값을 순서대로 가지는 것은 맞지만 string으로 처리되기 때문에 비교연산자 처리 결과가 이렇게 나온다.

만약 코끼리, 사자의 결과를 가지고 싶다면 아래와 같이 index 값으로 처리해준다.

SELECT animal from tbl where animal < 4

index값이 궁금하다면 아래와 같이 확인할 수 있다. (물론 순서대로지만)

SELECT animal+0, animal FROM tbl

자세한 내용은 MySQL의 enum 문서에서 확인할 수 있다.

겨울밤바다

2012년 1월 17일

MG 9900

Canon EOS 20D / 25s F22 iso 100

추워하면서도 가서 촬영한 사진.

jQuery UI datepicker rangeSelect problem

2012년 1월 13일

예전엔 jQuery UI에서 지원하는 datepicker가 range select가 가능했는데 버전이 올라가면서 리펙토링 과정에서 버린 기능이 되었는지 존재를 감춰버렸다.

그래서 jQuery UI 1.8.17에 포함된 datepicker를 수정해 range select가 되는 형태로 수정했다. (엄밀하게 따져보면 기존의 형태랑 완전 동일하게 동작하는 것은 아니다.)

물론 소스는 조잡하다;; 적용시 inline.html을 참조해서 적용하면 된다.

datepicker