您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如果不存在“ IN”字段,我希望“ WHERE IN”返回0

如果不存在“ IN”字段,我希望“ WHERE IN”返回0

您可以建立一个列表,您可以使用values()子句将其外部连接到其中:

SELECT d.id, count(t.id) AS "count"
FROM (
  values 
    ('value1'),
    ('value2'),
    ('value3')
) as data (id)
  left join the_table t on t.id = d.id
GROUP BY d.id
ORDER BY count ASC;

请注意,您必须使用count(t.id)(对联接表中的值进行计数)来获得计数0

另外,如果您不想fromvalues子句弄乱部分,则可以使用公用表表达式:

with data (id) as (
  values 
    ('value1'),
    ('value2'),
    ('value3')
)
SELECT d.id, count(t.id) AS "count"
FROM data d
  left join the_table t on t.id = d.id
GROUP BY d.id
ORDER BY count ASC;
其他 2022/1/1 18:53:29 有455人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶