Hallo Gregor,
folgendes SQL macht das “tagesgenau”:
SELECT DATE(FROM_UNIXTIME(li)) AS date,count(*) AS sessions,COUNT(DISTINCT account_id) AS users
FROM egw_access_log
WHERE account_id > 0
GROUP BY DATE(FROM_UNIXTIME(li))
ORDER BY DATE(FROM_UNIXTIME(li)) DESC
Ergibt bei unserer eigenen Instanz z.B.
date sessions users
2018-08-17 16 4
2018-08-16 64 9
2018-08-15 59 10
2018-08-14 50 7
2018-08-13 56 7
2018-08-12 38 4
2018-08-11 47 6
2018-08-10 47 6
2018-08-09 40 7
2018-08-08 50 6
2018-08-07 64 7
2018-08-06 54 5
2018-08-05 32 5
2018-08-04 25 4
2018-08-03 69 8
2018-08-02 85 12
2018-08-01 63 8
Hier wird jetzt nur der Begin der Sitzung berücksichtigt und alle die Benutzer jeweils für einen ganzen Tag gezählt. Sprich damit solltest Du auf der sicheren Seite sein. Falls Du Halbtagskräfte (ohne Synchronisation!) hast, kann die tatsächliche Zahl noch geringer sein.
Falls Du auch die Benutzernamen willst:
SELECT DATE(FROM_UNIXTIME(li)) AS date,count(*) AS sessions,COUNT(DISTINCT account_id) AS users,GROUP_CONCAT(DISTINCT account_lid) as user_names
FROM egw_access_log
JOIN egw_accounts USING(account_id)
WHERE account_id > 0
GROUP BY DATE(FROM_UNIXTIME(li))
ORDER BY DATE(FROM_UNIXTIME(li)) DESC
Ralf