database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27379 게시물 읽기
No. 27379
결과값이 이상합니다
작성자
qa
작성일
2008-02-04 22:31
조회수
2,598

mysql> select left(from_unixtime(create_day),10), count(*) cnt, sum(view) view from guild_board9 where create_day >= unix_timestamp('2008-02-04') group by 1 ;
+------------------------------------+-----+------+
| left(from_unixtime(create_day),10) | cnt | view |
+------------------------------------+-----+------+
| 2008-02-04                         |  57 |  268 |
+------------------------------------+-----+------+
1 row in set (0.00 sec)

mysql> select left(from_unixtime(create_day),10), count(*) cnt, sum(view) view from guild_board9 where create_day = unix_timestamp('2008-02-04') group by 1 ;
Empty set (0.00 sec)


어찌하여 위와 같은 결과가 나오는지요??

이 글에 대한 댓글이 총 2건 있습니다.

첫번째 경우는 create_day의 값이 '2008-02-04 00:00:00' 이후인 entity를 날짜별로 group by 하는 sql문이고요,

두번째 경우는 create_day의 값이 정확히 '2008-02-04 00:00:00'인 entity를 날짜별로 group by 하는 sql문이 됩니다.

따라서 두번째의 경우는 1초만 달라도 대상 entity가 없게 될 것입니다.

create_day가 2월 4일인 경우를 원하신 거라면 where절을 unix_timestamp( '2008-02-04' ) <= create_day AND create_day < unix_timestamp( '2008-02-05' )로 쓰시면 2월 4일에 해당하는 entity만을 대상으로 원하시는 결과를 얻으실 수 있을 것으로 보입니다.

우욱님이 2008-02-05 03:25에 작성한 댓글입니다. Edit

왜 그 생각을 못했을까요..;;

우욱이님 정말 고맙습니다

qa님이 2008-02-05 10:32에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27382쿼리문 길이 줄이기 null 관련
길이
2008-02-08
2649
27381mysql 에러...
모리
2008-02-06
2521
27380그룹별로 해당기간에 가장 마지막 데이터만 추려오기 [1]
김기진
2008-02-05
2906
27379결과값이 이상합니다 [2]
qa
2008-02-04
2598
27378select 문에 if 쓸수 있나요 [1]
밍키공주님
2008-02-04
3282
27376NDB를 이용한 cluster를 설치하려면 상용라이센스를 구입해야 하나요? [1]
Bob
2008-02-04
2752
27375.sql 을 실행할때 애러가 있는데도 메세지를 안뿌려줍니다
케빈
2008-02-04
2340
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다