按天计算和独特性

时间:2017-12-04 14:31:44

标签: sql

有下表

表A

ID   Username   Role  SYS_CREATION_DATE

在该表中,用户名可以多次出现不同的行。所以数据可能是:

ID   Username   Role  SYS_CREATION_DATE
--------------------------------------------------
1    JoeSmuck    5    4-DEC-2017 08.00.00000000 AM
2    JoeSmuck    4    4-DEC-2017 08.00.00000000 AM
3    MaryLamb    5    4-DEC-2017 08.00.00000000 AM
4    MaryLamb    4    4-DEC-2017 08.00.00000000 AM
5    MickeyM     5    4-DEC-2017 08.00.00000000 AM
6    MickeyM     4    4-DEC-2017 08.00.00000000 AM

试图找出SQL语句,以便在12月4日找到三个用户

2 个答案:

答案 0 :(得分:1)

GROUP BYDISTINCT

一起使用
  SELECT SYS_CREATION_DATE, COUNT(DISTINCT username)
  FROM TableA
  GROUP BY SYS_CREATION_DATE

答案 1 :(得分:0)

您的日期看起来像是时间组件。你应该摆脱它。以下适用于某些数据库:

select trunc(sys_creation_date), count(distinct username)
from t
group by trunc(sys_creation_date);

不同的数据库具有不同的功能来删除时间组件。