Sql 我想从按列BANKCASENUMBER和BALANCE分组的列DATETIME中获取第一个和最后一个日期

Sql 我想从按列BANKCASENUMBER和BALANCE分组的列DATETIME中获取第一个和最后一个日期,sql,sql-server,sas,enterprise-guide,Sql,Sql Server,Sas,Enterprise Guide,我试图根据SQL中的BANKCASENUMBER和BALANCE列获取DATETIME的第一个和最后一个日期 到目前为止,我的代码是: CREATE TABLE WORK.QUERY_FOR_FILTER_FOR_QUERY_FOR_S AS SELECT t1.ACCOUNTID, t1.BALANCE, t1.DATETIME, t2.TYPE, t2.BANKCASENUMBER

我试图根据SQL中的BANKCASENUMBER和BALANCE列获取DATETIME的第一个和最后一个日期

到目前为止,我的代码是:

CREATE TABLE WORK.QUERY_FOR_FILTER_FOR_QUERY_FOR_S AS 
       SELECT t1.ACCOUNTID, 
          t1.BALANCE, 
          t1.DATETIME, 
          t2.TYPE, 
          t2.BANKCASENUMBER
      FROM WORK.FILTER_FOR_QUERY_FOR_SORTSORTED t1
           INNER JOIN TALLY.ACCOUNTDETAILS t2 ON (t1.ACCOUNTID = t2.ACCOUNTS1);
有什么方法可以做到这一点吗?

SQL Server
中,根据您的需要对列进行分组,并使用您不希望在分组条件中使用的方法

  SELECT 
      t1.ACCOUNTID, 
      SUM(t1.BALANCE), 
      MIN(t1.DATETIME) AS FirstDate, 
      MAX(t1.DATETIME) AS LastDate,
      t2.TYPE, 
      t2.BANKCASENUMBER
  FROM WORK.FILTER_FOR_QUERY_FOR_SORTSORTED t1
       INNER JOIN TALLY.ACCOUNTDETAILS t2 ON (t1.ACCOUNTID = t2.ACCOUNTS1);

  GROUP BY t1.ACCOUNTID, t2.TYPE, t2.BANKCASENUMBER 

使用MAX()和MIN(),进行分组。标记RDBMS(如sql server、oracle、postgre)是否要从日期时间值中提取日期值?或者min和max datetime值是否适用于您?“使用max()和min(),执行分组方式。”否则,仅提供查询信息不足以理解您的问题,或者在使用DATEPART()函数从datetime值(秒数)中获取日期值(天数)后,您的结果是什么。。请记住附加一个适当的格式,以便值像日期一样显示给人类,而不是像原始数字一样显示。@RaymondNijland我的意思是说,
,他不希望这些列成为分组标准,如
余额
。我不是指过滤记录。而且我已经纠正了我的回答,很公平,我误解了你的回答和你的意思。。