에 의해 DISTINCT와 GROUP 사이에 혼합 I 다음과 같은 테이블이 있습니다MySQL의 - 쿼리 -
SELECT * FROM tblTemp;
+-----+---------------------+
| id | timestamp |
+-----+---------------------+
| 84 | 2013-07-18 22:36:32 |
| 85 | 2013-07-18 22:36:33 |
| 88 | 2013-07-18 22:36:33 |
| 89 | 2013-07-18 22:36:34 |
| 263 | 2013-08-04 16:01:05 |
| 264 | 2013-08-04 16:01:11 |
| 272 | 2013-08-04 16:01:42 |
| 273 | 2013-08-04 16:01:42 |
| 274 | 2013-08-04 16:01:42 |
| 275 | 2013-08-04 16:21:25 |
| 276 | 2013-08-04 16:21:25 |
| 279 | 2013-08-04 16:21:26 |
| 280 | 2013-08-04 16:21:27 |
| 281 | 2013-08-04 16:21:27 |
+-----+---------------------+
14 rows in set (0.00 sec)
먼저 내가이
SELECT DISTINCT timestamp FROM tblTemp;
+---------------------+
| timestamp |
+---------------------+
| 2013-07-18 22:36:32 |
| 2013-07-18 22:36:33 |
| 2013-07-18 22:36:34 |
| 2013-08-04 16:01:05 |
| 2013-08-04 16:01:11 |
| 2013-08-04 16:01:42 |
| 2013-08-04 16:21:25 |
| 2013-08-04 16:21:26 |
| 2013-08-04 16:21:27 |
+---------------------+
9 rows in set (0.00 sec)
처럼 뷰에있는 모든 더블 타임 스탬프를 제거하려는하지만이 아니다 충분히.
+---------------------+-------+
| timestamp | count |
+---------------------+-------+
| 2013-07-18 22:00:00 | 3 |
| 2013-08-04 16:00:00 | 6 |
+---------------------+-------|
먼저 내가 다음 명령을 사용할 수 있습니다 생각 : :
SELECT timestamp, COUNT(id) FROM tblTemp GROUP BY YEAR(timestamp), MONTH(timestamp), DAY(timestamp), HOUR(timestamp)
을하지만 '아무튼 이것에 대해 - 나는 (복식없이) DB에 각 시간 얼마나 많은 항목 수를 필요 잘 작동합니다. 명령 카운트 모든 행/
+---------------------+-------+
| timestamp | count |
+---------------------+-------+
| 2013-07-18 22:36:32 | 4 |
| 2013-08-04 16:01:05 | 10 |
+---------------------+-------+
그것은이다 중요하지, 열 타임 스탬프의 값은 2013년 7월 18일 22시 0분 0초 또는 2013년 7월 18일 22시 36분 32초 또는 다른 어떤 경우 시간과 날짜가 식별 가능한 한.
감사합니다 :)
중복 된'timestamp' 값을 제거하지 않습니다 –
http://sqlfiddle.com/#!2/3756b/12 –
참으로 나는 distinct..thnx가 없습니다. –