2013-04-02 49 views
0
所有

類型的設備我有一個表:數由每週

idint(11) NOT NULL 
type varchar(64) NOT NULL 
created_on datetime NOT NULL 

我可以按周統計所有類型的設備(ISO,安卓...)在一個查詢時使用doctrine2?

示例輸出:

Week iOS Android Other 
1  4 5  6 
2  3 5  9 

回答

1

這是完全可能的,使用您所描述的輸出類似於詳細在Output Sum of some column in week intervals throughout a year, week dates consistent with day但是不容易的方法。處理此問題的最佳方法是在WEEK和TYPE上進行SELECT,分組。即

SELECT 

    -- Get the week and month of each row 
    YEAR(created_on) AS Year, 
    WEEK(created_on) AS Week, 
    type 

    -- Count how many rows are in this group 
    COUNT(*) AS frequency 

FROM yourTable AS yt 

-- Order by month and then week, so that week 4 in Jan comes before week 4 in Feb 
GROUP BY 
    Year ASC, 
    Week ASC, 
    type ASC 

這將使輸出諸如

Year Week Type  frequency 
2013 1  'iOS'  4 
2013 1  'Android' 5 
2013 1  'Other' 6 
2013 2  'iOS'  3 
2013 2  'Android' 5 
2013 2  'Other' 9