0

私はテーブルを持っています:

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

doctrine2 を使用する場合、1 つのクエリですべてのタイプのデバイス (iSO、Android...) を週単位で数えることはできますか?

出力例:

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

1 に答える 1

1

これは完全に可能です.1年を通して週間隔でいくつかの列の出力合計に詳述されている方法と同様の方法を使用すると、週の日付は日と一致しますが、説明した出力では簡単ではありません. これを処理する最善の方法は、SELECT を実行し、WEEK と TYPE でグループ化することです。いえ

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
于 2013-04-02T12:18:46.320 に答える