-1

我想计算当前日期的所有行。

Column name = LOGIN_TIME (format is TIMESTAMP)

现在我有USER_NAMESUBJECT价值观。

表结构:

USER_NAME   SUBJECT   LOGIN_TIME
-----------------------------------
abc         physics   01-MAY-13 12.27.50.863000000 AM
abc         math      02-MAY-13 01.01.47.863000000 PM
def         physics   16-MAY-13 06.42.48.863000000 PM    
abc         physics   16-MAY-13 02.29.11.863000000 PM 

现在,使用user_name='aaa'and subject = 'physics', and current date (of REQUEST_TIME),我想检索行数。

请帮我解决这个问题。

4

2 回答 2

2

当您使用 SQL Developer 标记问题时,我假设您使用的是 Oracle。

在这种情况下,您可以使用该函数“删除”时间戳(或)列trunc()的时间部分。date“删除”意味着它被设置为 00:00:00。您还需要为 做这件事current_datesysdate或者current_timestamp因为他们所有人(包括current_date)都与他们一起度过

话虽如此,结果将是这样的:

select count(*) 
from the_table 
where user_name = 'abc' 
  and subject = 'physics' 
  and trunc(login_time) = trunc(current_date)
于 2013-05-16T07:32:37.123 回答
0

这个查询应该可以完成工作。只需替换Table_name为您的表的实际名称。

SELECT Count(*) FROM Table_Name WHERE USER_NAME = 'abc' AND SUBJECT = 'physics' AND TRUNC(LOGIN_TIME) >= TRUNC(SYSDATE - 1)
于 2013-05-16T07:22:29.070 回答