如果知道列的结果只有两个候选值,
ifnull(a, b) as a_or_b_1
Run Code Online (Sandbox Code Playgroud)
和
coalesce(a, b) as a_or_b_2
Run Code Online (Sandbox Code Playgroud)
会给出相同的结果.但哪个更快?在搜索时我发现了这篇文章,其中说ifnull更快.但这是我找到的唯一一篇文章.对此有何看法?
提前致谢 :)
我基本上有以下(我的)SQL查询
SELECT * FROM `address`
ORDER BY ISNULL(`company`), `company` ASC, COALESCE(`parent_id`, `address_id`), `parent_id` IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
这项工作完美无缺
我的目标是以下排序输出
ID| PARENT_ID | COMPANY | NAME
1 | NULL | A | NULL
2 | 1 | A.A | NULL
3 | 1 | A.B | NULL
4 | NULL | B | NULL
5 | NULL | C | NULL
6 | NULL | D | NULL
7 | 6 | D.A | NULL
8 | NULL | NULL | A …Run Code Online (Sandbox Code Playgroud)