Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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 Server MIN()结果集_Sql_Sql Server_Tsql - Fatal编程技术网

我不知道';无法理解此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也在考虑这个问题,但如果有记录具有相同的最低租金计数呢?在这种情况下,只会显示一个标题是的,这取决于我认为实际需要什么。我也在考虑这个问题,但如果有记录具有相同的最低租金计数呢?在这种情况下,只会显示一个标题是的,这取决于我认为实际需要什么。