首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql查询以计数同一列的最小日期和最大日期之间的总天数。

sql查询以计数同一列的最小日期和最大日期之间的总天数。
EN

Stack Overflow用户
提问于 2015-05-18 14:40:39
回答 1查看 4.4K关注 0票数 1

表名-收据

偶联-静脉曲张

代码语言:javascript
复制
coupondate    customer      
 02-04-2015     A         
 02-05-2015     A         
 02-06-2015     A         
 02-07-2015     A        
 02-08-2015     A       
 02-09-2015     A  

 05-04-2015     B         
 05-05-2015     B         
 05-06-2015     B         
 05-07-2015     B        
 05-08-2015     B       
 05-09-2015     B    

我需要计算最小和最大耦合日期之间的总天数。

-

客户A的联票日期从02-04-2015开始,截止于02-09-2015.因此,总天数差为153天.

客户B的联票日期从05-04-2015年开始,到05-09-2015年结束.因此,总天数差为153天.

预期输出

代码语言:javascript
复制
customer     totaldiff
  A           153 days
  B           153 days

下面是我的sql查询

代码语言:javascript
复制
 SELECT customer_name,        
           COUNT( coupondate ) AS totaldiff
    FROM receipt_entry
    GROUP BY customer_name
EN

回答 1

Stack Overflow用户

发布于 2015-05-18 14:45:01

试试这个,看看你是否得到了预期的结果。

如果你知道你想要的日期:

代码语言:javascript
复制
SELECT customer_name, DATEDIFF(DAY, '02/04/2015', '5/9/2015') AS totaldiff
FROM receipt_entry
GROUP BY customer_name

如果你需要得到你的价值观而又不知道它们,你可以尝试这样的方法:

代码语言:javascript
复制
SELECT A.customer_name, 
DATEDIFF(DAY, (min(coupondate)), (max(coupondate))) AS totaldiff
FROM A.receipt_entry
GROUP BY A.customer_name

编辑:我错过了MySQL引用,对不起,上面是Server的引用,下面是MySQL代码:

代码语言:javascript
复制
SELECT customer_name, 
DATEDIFF(min(coupondate)), max(coupondate)) AS totaldiff
FROM receipt_entry
GROUP BY customer_name

编辑2:日期格式:

代码语言:javascript
复制
SELECT customer_name, 
DATEDIFF(min(STR_TO_DATE(coupondate,'%d,%m,%Y')), max(STR_TO_DATE(coupondate,'%d,%m,%Y'))) AS totaldiff
FROM receipt_entry
GROUP BY customer_name
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30306165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档