Postgresql SELECT 并按日期计数

Ahm*_*med 3 postgresql

我有一个名为 login_logs 的 postgresql 表,它具有以下字段:

日期、时间、用户名、ip_addr

我有以下 SQL 可以获取大于或等于某个日期的登录信息:

SELECT * FROM login_logs WHERE date>='2016-10-01'
Run Code Online (Sandbox Code Playgroud)

但是,我只想获取用户名和日期列表,其中一个用户名在同一天有多个登录名。因此,例如,如果一个用户名有一个条目两次或更多次,那么它应该返回该用户名、日期以及当天登录次数的计数。因此,如果用户还有另一个登录次数超过两次的日期,那么也应该显示用户名、日期和计数。

任何想法我怎么能做到这一点?

Wan*_*uta 6

像这样的事情可以解决问题:

SELECT
  username,
  COUNT(*) as count,
  date_trunc('day', date) as day
FROM login_logs
WHERE date>='2016-10-01'
GROUP BY username, day 
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)

我们组登录通过用户名和一天,因为我们想成为推理由在同一天同一个用户登录的组。然后,我们只保留具有多个条目的组。