首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL Datediff语法

MySQL Datediff语法
EN

Stack Overflow用户
提问于 2014-06-11 13:41:23
回答 1查看 148关注 0票数 1

我必须计算当前日期与存储在数据库中的日期(数据操作)之间的天数差异。

我需要知道这几天的区别是:

  1. <= 30
  2. 30和<= 60
  3. 60

我尝试了这个查询sql,但是输出是错误的,因为在所有的行中,总数是不正确的。

当is > 30和<= 60时,如何计算日差?

代码语言:javascript
复制
mysql> SELECT
    IFNULL(action, 'Tot') AS action,
    COUNT(*) AS Tot,
    SUM(

        IF (
            DATEDIFF(
                CURRENT_DATE (),
                dataaction
            ) <= 30,
            1,
            0
        )
    ) '<= 30',
    SUM(

        IF (
            DATEDIFF(
                CURRENT_DATE (),
                dataaction
            ) <= 60,
            1,
            0
        )
    ) '<= 60',
    SUM(

        IF (
            DATEDIFF(
                CURRENT_DATE (),
                dataaction
            ) > 60,
            1,
            0
        )
    ) '> 60'
FROM
    (
        SELECT
            *
        FROM
            `tbl`
    ) t
GROUP BY
    action WITH ROLLUP;
+------------+--------+-------+-------+------+
| action     | Tot    | <= 30 | <= 60 | > 60 |
+------------+--------+-------+-------+------+
| study      |     83 | 7     | 37    | 46   |
| rebuilding |     25 | 25    | 25    | 0    |
| checking   |     95 | 2     | 3     | 92   |
| screening  |     39 | 1     | 4     | 35   |
| Tot        |    242 | 35    | 69    | 173  |
+------------+--------+-------+-------+------+
5 rows in set

mysql> 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-11 14:00:11

正如注释中所要求的那样,这是一个解决此问题的开关/案例语法的简单示例。这不是解决这个问题的尝试。

代码语言:javascript
复制
select 
    case
        when datediff(day, current_date, dataaction) <= 30 then '<= 30'
        when datediff(day, current_date, dataaction) <= 60 then '31 to 60'
        else '> 60' 
    end age_range
    , count(*) records
from 
    etc
group by 
    case
        when datediff(day, current_date, dataaction) <= 30 then '<= 30'
        when datediff(day, current_date, dataaction) <= 60 then '31 to 60'
        else '> 60' 
    end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24164488

复制
相关文章

相似问题

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