大きなテーブル T のこの部分を持っています。
+---------------+------------+
| session_id | visit_time |
+---------------+------------+
| 4f89cebc109f9 | 1334431476 |
| 4f89cf283d21c | 1334431528 |
| 4f89cf283d21c | 1334431534 |
| 4f89cf3b350a6 | 1334431547 |
| 4f89cf42ab640 | 1334431554 |
+---------------+------------+
平日のsession_idの数を見つけたいです。Session_id は主キーではありません。だから私は試しました:
select count(distinct(session_id)) from T group by weekday(from_unixtime(time))
ただし、同じ日が 2 つの異なる日曜日にある場合は としてカウントされますが、同じ日曜に同じ日がある場合は正しく 1 とカウントされるため、session_id
機能visit_time
しません1
。session_id
visit_time
予想されるのは、sun、mon などの訪問日を持つ session-id の数を知りたいということです。session_id が 2 つの異なる日曜日に訪問した場合、それらは 2 回カウントされますが、同じ日曜日の場合は 1 回だけカウントされます。では、どうすれば Mysql でそれを行うことができますか?