【发布时间】:2019-06-07 09:29:50
【问题描述】:
我查看了许多选择多列但仅按 1 列分组的示例,而我的似乎给了我重复的结果。见下文我想选择表中的所有列,但只想选择GROUP BYVehicleId。在屏幕截图中,您会看到结果实际上并未按 VehicleId 分组。
知道我做错了什么吗?
尝试1:
SELECT
h.*,
TotalFines = 1,
TotalIncidents = 1,
TotalVehicleAllocations = 1,
TotalVehicleConditions = 1,
TotalMileageApplications = 1
FROM
(
SELECT h1.VehicleId FROM [dbo].[VehicleHistory] h1 GROUP BY h1.VehicleId
) GroupedList
INNER JOIN [dbo].[VehicleHistory] h ON GroupedList.VehicleId=h.VehicleId
ORDER BY
h.VehicleId;
尝试2:
SELECT t1.* FROM VehicleHistory t1
INNER JOIN
(
SELECT VehicleId FROM VehicleHistory GROUP BY VehicleId
) t2
ON t1.VehicleId=t2.VehicleId
两个查询产生相同的结果,每个 VehicleId 都有重复的行,如下所示:
下面是我的预期结果。结果是 Entity Framework 生成的查询。但我想将 linq 查询重写为 T-SQL:
【问题讨论】:
-
你能发布你的预期结果吗?
-
@forpas,我已经添加了结果的样子。我正在尝试将实体框架 Linq 查询重写为 T-SQL 查询...
标签: sql sql-server group-by