【问题标题】:make a column in sql if the minutes are higher than 15mins如果分钟数高于 15 分钟,请在 sql 中创建一列
【发布时间】:2017-08-31 05:43:41
【问题描述】:

我想在下面的代码中当分钟(LT Min)超过15分钟时做一列

select TIMESTAMPDIFF(MINUTE, cs.subscribeddate,cs.unsubscribeddate) as 'LT Min'
from customer cs 

有什么想法吗?我应该使用 IF 吗?

【问题讨论】:

  • 您的问题不清楚。您是否创建列的决定不应取决于对存储在表中的数据的计算。您要么需要该列,要么不需要。您的意思是要根据该计算存储数据,还是在低于该数量时不存储?
  • 另外请正确标记您的问题。您使用的是 mysql 还是使用 sql-server?您没有同时使用两者。

标签: mysql sql database database-design


【解决方案1】:

您已经展示了如何在几分钟内获得差异。现在要么用它来限制选定的记录,例如:

select cs.*, TIMESTAMPDIFF(MINUTE, cs.subscribeddate,cs.unsubscribeddate) as "LT Min"
from customer cs 
where TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate) > 15;

或选择所有行并仅在大于 15 时显示差异:

select cs.*, 
  case when TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate) > 15 then 
    TIMESTAMPDIFF(MINUTE, cs.subscribeddate, cs.unsubscribeddate)
  end as "LT Min"
from customer cs;

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 2011-05-31
    • 1970-01-01
    • 2021-01-08
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多