MySQL 从 Count Null 中减去
MySQL subtract from Count Null
我有一个电影租赁数据库,我必须在其中计算我有多少给定电影可用。
我有 3 个表:
a) “电影”
-Id_MoviePK,
-姓名,
-Copies_num
b) “客户”
-Id_ClientPK,
-Client_Name
c)“租金”
Movie_Id PK FK,
Client_ID PK FK,
Rental_Date,
Movie_return_date
所以我想,如果 movie_return_date 为 null,则表示已租用 1 份,这意味着我有
(Copies_num - COUNT(NULLS of movie return date) 但我不太清楚如何做这样的 SELECT 查询
SELECT Distinct M.Title, M.Copies_num as 'max_num',M.Copies_num - COUNT(IFNULL(R.Movie_return_date , NULL)) as avalible FROM rentals R LEFT JOIN Movies M ON M.Id_Movie = R.Movie_ID GROUP BY M.Copies_num, M.Title;
这有点管用,但它从错误的电影中提取了子轨,那部电影没有任何空值
如果我没有正确理解你的问题,你可以试试这样:
SELECT Distinct M.Title, M.Copies_num as 'max_num', M.copies_num-
COUNT(rental_date) AS available
FROM rental R right JOIN Movies M ON M.Id_Movie = R.Movie_ID
WHERE movie_return_date is null
GROUP BY M.Copies_num, M.Title;
我有一个电影租赁数据库,我必须在其中计算我有多少给定电影可用。 我有 3 个表:
a) “电影” -Id_MoviePK, -姓名, -Copies_num
b) “客户” -Id_ClientPK, -Client_Name
c)“租金” Movie_Id PK FK, Client_ID PK FK, Rental_Date, Movie_return_date
所以我想,如果 movie_return_date 为 null,则表示已租用 1 份,这意味着我有 (Copies_num - COUNT(NULLS of movie return date) 但我不太清楚如何做这样的 SELECT 查询
SELECT Distinct M.Title, M.Copies_num as 'max_num',M.Copies_num - COUNT(IFNULL(R.Movie_return_date , NULL)) as avalible FROM rentals R LEFT JOIN Movies M ON M.Id_Movie = R.Movie_ID GROUP BY M.Copies_num, M.Title;
这有点管用,但它从错误的电影中提取了子轨,那部电影没有任何空值
如果我没有正确理解你的问题,你可以试试这样:
SELECT Distinct M.Title, M.Copies_num as 'max_num', M.copies_num-
COUNT(rental_date) AS available
FROM rental R right JOIN Movies M ON M.Id_Movie = R.Movie_ID
WHERE movie_return_date is null
GROUP BY M.Copies_num, M.Title;