Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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
Sql 如何合并同一列中具有相同数据的多行?_Sql_Sql Server_Sql Server 2008_Subquery - Fatal编程技术网

Sql 如何合并同一列中具有相同数据的多行?

Sql 如何合并同一列中具有相同数据的多行?,sql,sql-server,sql-server-2008,subquery,Sql,Sql Server,Sql Server 2008,Subquery,我的密码是: SELECT datepart(year, request_created_date) AS request_year, datepart(month, request_created_date) AS request_month, datepart(week, request_created_date) AS request_week, count(request_id) AS request_count FROM nyc311_requests GROU

我的密码是:

SELECT datepart(year, request_created_date) AS request_year,
    datepart(month, request_created_date) AS request_month,
    datepart(week, request_created_date) AS request_week,
    count(request_id) AS request_count
FROM nyc311_requests
GROUP BY request_created_date
ORDER BY request_week

在我得到的输出中,我有两行,其中request_week为36,还有7行,其中request_week为37。我想要的是将这样的列合并成一行

如果要使用GROUP BY子句,则必须包括GROUP BY中除计算字段以外的所有字段:

SELECT datepart(year, request_created_date) AS request_year,
    datepart(month, request_created_date) AS request_month,
    datepart(week, request_created_date) AS request_week,
    count(request_id) AS request_count
FROM nyc311_requests
GROUP BY datepart(year, request_created_date),
    datepart(month, request_created_date),
    datepart(week, request_created_date)
ORDER BY request_week
或者,如果您想要一个更干净的查询:

SELECT M.*, count(*) AS request_count FROM 
(
  SELECT datepart(year, request_created_date) AS request_year,
         datepart(month, request_created_date) AS request_month,
         datepart(week, request_created_date) AS request_week
  FROM nyc311_requests
)AS M
GROUP BY M.request_year, M.request_month, M.request_week
ORDER BY M.request_week

您是否尝试过将分组依据更改为
GROUP BY datepart(周,请求创建日期)
是的,但我收到一个错误消息,说请求创建日期无效,因为它不是聚合或在GROUP BY子句中。以下情况如何:
GROUP BY datepart(年,请求创建日期),datepart(月,请求创建日期),datepart(周,请求创建日期)