我在表sample
中有以下数据。我正在使用Oracle数据库。
column1 column2 column3
A 01 2017-07-27-04.24.58.851340
B 01 2017-07-27-06.43.19.654420
C 01 2017-08-10-08.26.47.633480
我需要根据SUBSTR(column3, 1,10)
值提取不同记录的数量。
例如:
在第一行,
SUBSTR(column3, 1,10)
的{{1}}值为column3
,
在第二行,
2017-07-27
的{{1}}值为SUBSTR(column3, 1,10)
,与第一行相同
在第三行中,column3
的{{1}}值为2017-07-27
,与前两行不同。
因此,根据不同的SUBSTR(column3, 1,10)
值,计数应返回为column3
。
有人可以帮帮我吗?
答案 0 :(得分:3)
persistUserAuth(userAuth);
openHomeActivity();
答案 1 :(得分:2)
由于您似乎将时间戳值存储为字符串(您不应该这样做,并且应该将它们存储为时间戳),您可以将它们转换为时间戳,然后将时间组件截断到当天的开头:
SELECT COUNT( DISTINCT TRUNC( TO_TIMESTAMP( column3, 'YYYY-MM-DD-HH24.MI.SS.FF6' ) ) )
AS num_days
FROM your_table
但你也可以使用字符串值:
SELECT COUNT( DISTINCT SUBSTR( column3, 1, 10 ) ) AS num_days
FROM your_table
如果您转换表格以将其存储为时间戳,那么您可以使用:
SELECT COUNT( DISTINCT TRUNC( column3 ) ) AS num_days
FROM your_table