MySQL 統計上一週從週一到週日的用戶

這個功能按理說很常見,奇怪的是很難搜索到一個合適的。稍微整理了下,具體的就不展開了,注意這個表中的時間爲毫秒,這條語句拷貝複製就能用。照顧大部分的無腦碼農。

 SELECT
            case
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 0 then '0'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 1 then '1'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 2 then '2'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 3 then '3'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 4 then '4'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 5 then '5'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 6 then '6'
            end as name, count(id) as total
        FROM user_t as u WHERE (YEARWEEK(FROM_UNIXTIME(u.time_c/1000, '%Y-%m-%d')) = YEARWEEK(now())-1) and status = 1 group by
            case
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 0 then '0'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 1 then '1'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 2 then '2'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 3 then '3'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 4 then '4'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 5 then '5'
                when FROM_UNIXTIME(u.time_c/1000, '%w') = 6 then '6'
            end
        order by null;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章