HEX
Server: LiteSpeed
System: Linux d8 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: wbwebdes (3015)
PHP: 8.1.31
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/wbwebdes/domains/files.wb-cloud.nl/private_html/apps/suspicious_login/doc/stats.md
<!--
  - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
  - SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Statistics

A collection of useful SQL queries to get some stats from the data in the database. Tested with MySQL.

## Suspicious login attempts

```sql
SELECT Year(From_unixtime(created_at)) AS year,
       Week(From_unixtime(created_at)) AS week,
       Count(*)                        AS cnt
FROM   oc_suspicious_login
GROUP  BY year,
          week
ORDER  BY year,
          week;  
```

## Number of notifications sent per week

```sql
SELECT Year(From_unixtime(created_at)) AS year,
       Week(From_unixtime(created_at)) AS week,
       Count(*)                        AS cnt
FROM   oc_suspicious_login
WHERE  notification_state = 1
GROUP  BY year,
          week
ORDER  BY year,
          week;  
```

## IPv4 vs IPv6 distribution in suspicious login attempts

```sql
SELECT (SELECT SUM(seen)
        FROM   oc_login_ips_aggregated
        WHERE  ip LIKE '%.%.%.%') / (SELECT SUM(seen)
                                     FROM   oc_login_ips_aggregated)     AS
       pct_v4,
       (SELECT SUM(seen)
        FROM   oc_login_ips_aggregated
        WHERE  ip NOT LIKE '%.%.%.%') / (SELECT SUM(seen)
                                         FROM   oc_login_ips_aggregated) AS
       pct_v6
```