繁体   English   中英

SQL - 连接表后排除 Null 个值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM