计算第一次出现的时间(SQL)

时间:2016-08-10 17:43:12

标签: sql

我有一张这样的表

+----+---------------------+
| Id | Date application    | 
+----+---------------------+
| 1  | 2016-08-22 03:05:06 |
| 2  | 2016-08-22 03:05:06 |
| 1  | 2016-08-23 03:05:06 |
| 2  | 2016-08-23 03:05:06 |
+----+---------------------+

我想知道每个用户(ID)的第一个申请是什么时候 然后计算过去7天发生的次数

到目前为止,这是我所拥有的

SELECT id,  
min(date_of_application)
FROM mytable
GROUP BY id
ORDER BY date_of_application ASC

min()会在日期上工作吗? 从那里开始,我如何计算过去7天内首次申请的数量?

2 个答案:

答案 0 :(得分:0)

请标记您的数据库。 min()将在日期工作。

假设你的mysql db是你可以做的,以便在过去7天内获得应用程序使用量。

select 
  id, count(*) as 'appUsageCount'
from 
  mytable
where 
    dateApplication      >= DATE(DATE_SUB(NOW(),INTERVAL 7 DAY))
and date_of_application  <= DATE(NOW()))
group by id

答案 1 :(得分:0)

@Neeraj:只需稍加修改即可使用您的查询。 试试这个:

select 
  id, count(id) as 'appUsageCount', min(date_of_application)
from 
  mytable
where 
    date_of_application      >= DATE(DATE_SUB(NOW(),INTERVAL 7 DAY))
and date_of_application  <= DATE(NOW()))
group by id