我有一個DB表,它記錄具有IP列和DateTime標記的請求。我試圖以某種方式獲取這些數據,這使得我可以計算某個IP發出請求的天數。我正在使用Laravel的查詢構建器。從MySQL中的DateTime中計算不同日子
到目前爲止,這是我已經有了:
$data = DB::table('requests')
->groupBy('ip')
->select('ip',
DB::raw('COUNT(DISTINCT created_at) as days'),
DB::raw('COUNT(*) as requests'))
->orderBy('days', 'desc')
->take(50)
->get();
我的問題是時間戳還持有小時,分鐘和秒。所以「天數」將與總請求數大致相同。我只想計算活動天數。
或'COUNT(DISTINCT TO_DAYS( created_at))天,我想。 –
非常感謝,這對我有用! – Stromgren
@Fnatte:[TO_DAY()](http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_to-days)接受日期作爲參數而不是時間戳。 –