2013-05-12 3 views
4

필드가있는 주문 테이블이 있다고 가정 해 보겠습니다. user_id, created_at.SQL에서 항목의 새로운 모습을 계산하는 방법은 무엇입니까?

하루에 몇 개의 새로운 user_ids가 등장했는지 보여주는 쿼리를 만들고 싶습니다.

이 하루가 얼마나 많은 주문을 보여줍니다

SELECT 
    count(1), TO_CHAR(created_at, 'YYYY-MM-DD') as day 
FROM 
    orders 
GROUP BY 
    day 
ORDER BY 
    day DESC 
+0

그래서이 MySQL을 내가 추측하고있어인가? (컬럼 별칭이'Group By'에서 사용되도록 허용하고 있기 때문에 대부분 사용하지 않습니다.) – RBarryYoung

+0

@JW 웃 - [Postgres는'TO_CHAR' 기능을 가지고 있습니다.] (http://www.postgresql.org/docs/9.2/) interactive/functions-formatting.html)도 있습니다. –

+0

오, 내 잘못이야. 나는 postgresql에서 기능의 양이 적다는 것을 알고있다. –

답변

3
SELECT count(1), 
     TO_CHAR(FirstOrder, 'YYYY-MM-DD') AS day 
FROM (SELECT MIN(created_at) AS FirstOrder, 
       user_id 
     FROM orders 
     GROUP BY user_id) first_orders 
GROUP BY TO_CHAR(FirstOrder, 'YYYY-MM-DD') 
ORDER BY day DESC 
+0

이것은 내가 찾고있는 것입니다. Martin 고마워! –

관련 문제