【问题标题】:I dont know sql syntax for my table [closed]我不知道我的表的 sql 语法 [关闭]
【发布时间】:2013-07-29 08:15:17
【问题描述】:

我有一张桌子

ID______credit________paydate
------------------------------
101_____10____________2012/01/01
101_____13____________2012/02/01
101_____8 ____________2012/03/01
101_____3 ____________2012/03/01
101_____22____________2012/05/01
..._____..____________..........
..._____..____________..........
999_____13____________2012/07/01
999_____38____________2012/08/01

我想选择过去 3 个月的所有记录(每个 ID 的最后付款日期不同)以及信用

有人可以帮我解决这个问题吗?

感谢和问候

【问题讨论】:

  • 请重新表述您的问题以包含更多详细信息。另外:你应该首先尝试看看你能想出什么,然后在这里发布。我们不会为您完成工作,但很乐意帮助您改进解决方案。
  • 你试过了吗?
  • 如果你至少付出了一些努力,你可能不会被否决。
  • 我已经尝试了一些东西,而真正的桌子更复杂..我以为我在那里错过了一些简单的东西,我的头已经受伤了-_-'

标签: sql sql-server sql-server-2008 tsql sql-server-2012


【解决方案1】:

您可以使用 DATEADD 函数来获得所需的结果:

SELECT  *
  FROM  table
  WHERE paydate >= DATEADD(month, -3, GETDATE())
        AND credit < 10

【讨论】:

  • 'paydate' 列不是当前日期,所以如果我使用 getdate 函数是不可能的。每个 ID 的付款日期都不同。
猜你喜欢
  • 1970-01-01
  • 2022-11-04
  • 2016-08-05
  • 2011-10-17
  • 2019-06-20
  • 2023-03-29
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多