sql是:
select count(*)
from (select *
from T_LOGGINGINFO
where to_char(LOGINTIME, 'YYYY-MM') = '2012-05'
group by USERNAME)
Run Code Online (Sandbox Code Playgroud)
简洁是机智(和内衣)的灵魂,但清晰度是代码的灵魂.尝试:
SELECT COUNT(DISTINCT USERNAME)
FROM T_LOGGINGINFO
WHERE LOGINTIME BETWEEN TO_DATE('01-MAY-2012 00:00:00', 'DD-MON-YYYY HH24:MI:SS')
AND TO_DATE('31-MAY-2012 23:59:59', 'DD-MON-YYYY HH24:MI:SS')
Run Code Online (Sandbox Code Playgroud)
更清晰的IMO,可能更快,因为不必对表中的每一行执行TO_CHAR,并且可能允许使用索引(LOGINTIME, USERNAME).因人而异.
分享和享受.