Sql 与范围一起使用时可能出现的情况(不可能?)

Sql 与范围一起使用时可能出现的情况(不可能?),sql,case-when,Sql,Case When,抱歉,我是新来的,所以我不确定我的格式是否正确。我有下表: 我觉得我好像有一个小的把握,但我正在撞上一堵墙 1) 在上表中,我想插入一个新列,该列有一个标记,其中员工id被标记为在大公司或小公司。我将在下面写下我的错误查询,因此它可能有助于描述问题 我想我想插入一个带有该验证的新列,但我不知道该怎么做 如果我违反了协议,请告诉我 如果你想根据员工数量来确定一家公司是大是小,我想这就是你试图写的查询 SELECT company_id, CASE WHEN CO

抱歉,我是新来的,所以我不确定我的格式是否正确。我有下表:



我觉得我好像有一个小的把握,但我正在撞上一堵墙

1) 在上表中,我想插入一个新列,该列有一个标记,其中员工id被标记为在大公司或小公司。我将在下面写下我的错误查询,因此它可能有助于描述问题



我想我想插入一个带有该验证的新列,但我不知道该怎么做


如果我违反了协议,请告诉我

如果你想根据员工数量来确定一家公司是大是小,我想这就是你试图写的查询

SELECT company_id, 
    CASE 
        WHEN COUNT(DISTINCT employee_id) > 1 THEN 'large' 
        ELSE 'small' 
    END as company_size
FROM mytable 
GROUP BY company_id;

根据您的样本数据,期望的结果是什么?此外,您可能希望研究
规范化
,这将从长远来看对您有所帮助……哦,很有趣。规范化也非常有用。
select case when (count (distinct employee_id) > 1) 
            then as 'Large' else 'Small' from mytable;
SELECT company_id, 
    CASE 
        WHEN COUNT(DISTINCT employee_id) > 1 THEN 'large' 
        ELSE 'small' 
    END as company_size
FROM mytable 
GROUP BY company_id;