我不知道';无法理解此SQL Server MIN()结果集
我编写了这个我不知道';无法理解此SQL Server MIN()结果集,sql,sql-server,tsql,Sql,Sql Server,Tsql,我编写了这个sqlserver查询,以查找rent表中记录量最少的电影标题 运行时,它返回一个结果集,该结果集与我自己执行子查询得到的结果集相同 换句话说,它返回的不是具有最小RentalCount的单个电影,而是所有电影标题及其对应的RentalCount SELECT B.Title, MIN(B.RentalCount) AS RentalCount FROM ( SELECT Movie.Title, Count(*) AS RentalCount FROM Rental
sqlserver
查询,以查找rent
表中记录量最少的电影标题
运行时,它返回一个结果集,该结果集与我自己执行子查询得到的结果集相同
换句话说,它返回的不是具有最小RentalCount的单个电影,而是所有电影标题及其对应的RentalCount
SELECT B.Title, MIN(B.RentalCount) AS RentalCount
FROM (
SELECT Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
GROUP BY Movie.Title
) B
GROUP BY B.Title
结果是正确的。子查询返回出租表中每个标题的总计数。而外部查询的结果将是相同的,因为您也按标题对它们进行了分组 后续问题:您希望取得什么样的结果 查找租赁表中记录数最少的电影标题 更新1 感谢为我介绍了
TOP….领带
SELECT TOP 1 WITH TIES Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
GROUP BY Movie.Title
ORDER BY RentalCount DESC
结果是正确的。子查询返回出租表中每个标题的总计数。而外部查询的结果将是相同的,因为您也按标题对它们进行了分组
后续问题:您希望取得什么样的结果
查找租赁表中记录数最少的电影标题
更新1
感谢为我介绍了TOP….领带
SELECT TOP 1 WITH TIES Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
GROUP BY Movie.Title
ORDER BY RentalCount DESC
您可以在没有子查询的情况下完成此操作
SELECT TOP 1 Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
GROUP BY Movie.Title
ORDER BY Count(*)
您可以在没有子查询的情况下完成此操作
SELECT TOP 1 Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
GROUP BY Movie.Title
ORDER BY Count(*)
如果您正在寻找特定的电影标题,请执行以下操作:
SELECT Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
where Movie.Title='xyz'
GROUP BY Movie.Title
如果您正在寻找特定的电影标题,请执行以下操作:
SELECT Movie.Title, Count(*) AS RentalCount
FROM Rental
JOIN Dvd ON Rental.RentalID=Dvd.DvdID
JOIN Movie ON Dvd.Movieid=movie.MovieID
where Movie.Title='xyz'
GROUP BY Movie.Title
我把外组的B和B的标题,它的工作。然而,现在我只有一个数字。我仍然希望能够显示电影的标题。@RyanMiller我不建议在这种情况下使用TOP
,因为可能有多个标题具有相同的最低租金,例如Title2=3,Title1=3,Title4=3..@JohnWoo-您可以使用TOP。。。带着领带
。@MartinSmith我希望我能给你+50
,以表彰你的顶级……带着领带
。直到现在我才知道它的存在DI以B和B的标题去掉了外组,结果成功了。然而,现在我只有一个数字。我仍然希望能够显示电影的标题。@RyanMiller我不建议在这种情况下使用TOP
,因为可能有多个标题具有相同的最低租金,例如Title2=3,Title1=3,Title4=3..@JohnWoo-您可以使用TOP。。。带着领带
。@MartinSmith我希望我能给你+50
,以表彰你的顶级……带着领带
。直到现在我才知道它的存在Di也在考虑这个问题,但如果有记录具有相同的最低租金计数呢?在这种情况下,只会显示一个标题是的,这取决于我认为实际需要什么。我也在考虑这个问题,但如果有记录具有相同的最低租金计数呢?在这种情况下,只会显示一个标题是的,这取决于我认为实际需要什么。