![](/img/trans.png)
[英]Replace empty values as 0 instead of null while joining two tables in sql
[英]SQL - Excluding Null Values after Joining Tables
我是编程和学习 SQL 的新手。我试图在 ORDER BY ... DESC 之后排除 NULL 值。 你能帮忙解决这个问题吗? 也不确定我是否应该使用 WHERE 或 HAVING,
-- Which director has the highest total domestic takings
SELECT d.first_name, d.last_name, SUM(mr.domestic_takings) AS total_dom_takings
FROM directors d
-- *** WHERE/HAVING mr.domestic_takings IS NOT NULL ***
JOIN movies mo ON d.director_id = mo.director_id
JOIN movie_revenues mr ON mo.movie_id = mr.movie_id
GROUP BY d.first_name, d.last_name
ORDER BY total_dom_takings DESC;
尝试在 JOIN 之后编写 WHERE 子句:
SELECT d.first_name, d.last_name, SUM(mr.domestic_takings) AS total_dom_takings
FROM directors d
JOIN movies mo ON d.director_id = mo.director_id
JOIN movie_revenues mr ON mo.movie_id = mr.movie_id
WHERE mr.domestic_takings IS NOT NULL
GROUP BY d.first_name, d.last_name
ORDER BY total_dom_takings DESC;
您可以完全省略WHERE
子句。
大多数聚合函数,其中sum
,无论如何都会忽略 NULL arguments 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.