Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用聚合T-SQL获取日期?_Sql_Sql Server_Tsql - Fatal编程技术网

如何使用聚合T-SQL获取日期?

如何使用聚合T-SQL获取日期?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在尝试获取客户的总访问次数,以及上次访问日期和下次访问 SELECT COUNT( VisitTracking.customerID) AS #VISIT, Customers.title, Customers.firstName, Customers.LastName, Company.companyName, VisitTracking.DateVisited, CONVERT(date,VisitTracking.nextVisit)AS ne

我正在尝试获取客户的总访问次数,以及上次访问日期和下次访问

SELECT 
  COUNT( VisitTracking.customerID) AS #VISIT, 
  Customers.title, 
  Customers.firstName, 
  Customers.LastName, 
  Company.companyName, 
  VisitTracking.DateVisited, 
  CONVERT(date,VisitTracking.nextVisit)AS nextVisit
FROM VisitTracking 
  INNER JOIN Customers ON VisitTracking.customerID = Customers.customerID 
  INNER JOIN Customer_Company ON Customers.customerID = Customer_Company.customerID 
  INNER JOIN Company ON Customer_Company.companyID = Company.companyID
GROUP BY 
  Customers.title, 
  Customers.firstName, 
  Customers.LastName, 
  Company.companyName,
  VisitTracking.DateVisited,
  VisitTracking.nextVisit
结果

#VISIT, title, firstName ,LastName, companyName, DateVisited, nextVisit
1,        Mr, Tom, Tom, Jedii design, 2012-11-09, 2012-11-14
2 ,       Mr, Sam, Tom, compudata, 2012-11-10, 2012-11-14
1,       Mr, Mike, Mike, compudata, 2012-11-10, 2012-11-14
1,       Mr, Mike, Mike, compudata, 2012-11-16 ,2012-11-23
1,       Mr, Ryan, Ryan, compudata, 2012-11-07 ,2012-11-09

向我们展示一个表格结构,以及您想要的结果描述您希望上次访问和下次访问的结果,但结果是您有两次Mike先生,因此请精确说明您的期望。尝试从group by中删除DateVisited和nextVisit,并在select中设置MAX(VisitTracking.DateVisited)和MAX(CONVERT(date,VisitTracking.nextVisit))。您还没有问任何问题!请添加一个问题,如果可能,请添加一个包含一些示例数据的表结构,以及从数据中获得所需结果时遇到的问题。
SELECT 
  COUNT( VisitTracking.customerID) AS #VISIT, 
  Customers.title, 
  Customers.firstName, 
  Customers.LastName, 
  Company.companyName, 
  max(VisitTracking.DateVisited) as lastVisit, 
  max(CONVERT(date,VisitTracking.nextVisit)) AS nextVisit
FROM VisitTracking 
  INNER JOIN Customers ON VisitTracking.customerID = Customers.customerID 
  INNER JOIN Customer_Company ON Customers.customerID = Customer_Company.customerID 
  INNER JOIN Company ON Customer_Company.companyID = Company.companyID
GROUP BY 
  Customers.title, 
  Customers.firstName, 
  Customers.LastName, 
  Company.companyName