如何引用 SQL 中有计数的列?
How to reference a column in SQL that has count?
如何获取列“count(division)”而不是获取实际计数?
select * from num_taught;
给我这个
select count(division) from num_taught;
明白了,但我实际上想要上一张图片中的第三列“count(division)”
我想知道这个,因为我现在正在做这个:
sql> select * from num_taught as a, num_taught as b
...> where a.count(division) = b.count(division);
Error: near "(": syntax error
但是如您所见,存在语法错误,我认为这是因为代码没有引用“count(division)”列,而是实际找到了计数。
我的最终目标是输出具有相同“分区”和相同计数(分区)的“标题”。
因此,例如,末尾 table 将包含“首席会计师”、“程序员实习生”、“书记员”、“技术员”、“向导”等行。因为这些行在 division 和 count(division)
中匹配
谢谢!
我想你只是想要一个 count(distinct)
:
select count(distinct division)
from num_taught;
DESC num_taught
return是什么意思?我很好奇第三列是如何填充的——是某种 pseudo-column 吗?您可能想尝试用 []
包裹列名,请参阅:How to deal with SQL column names that look like SQL keywords?
即尝试:
select [count(division)] from num_taught;
您需要使用引号对您的列名进行转义(以防它是您在评论中提到的 Sqlite)。
select "count(division)" from num_taught;
或:
select * from num_taught as a, num_taught as b
where a."count(division)" = b."count(division)";
如果您不这样做,那么您正在使用 Database-system 提供的 count-function。
像这样命名列是非常不寻常的,这可能是您的导师设置的陷阱,或者在您的情况下初始化 table 时出错。
如何获取列“count(division)”而不是获取实际计数?
select * from num_taught;
给我这个
select count(division) from num_taught;
明白了,但我实际上想要上一张图片中的第三列“count(division)”
我想知道这个,因为我现在正在做这个:
sql> select * from num_taught as a, num_taught as b
...> where a.count(division) = b.count(division);
Error: near "(": syntax error
但是如您所见,存在语法错误,我认为这是因为代码没有引用“count(division)”列,而是实际找到了计数。
我的最终目标是输出具有相同“分区”和相同计数(分区)的“标题”。
因此,例如,末尾 table 将包含“首席会计师”、“程序员实习生”、“书记员”、“技术员”、“向导”等行。因为这些行在 division 和 count(division)
中匹配谢谢!
我想你只是想要一个 count(distinct)
:
select count(distinct division)
from num_taught;
DESC num_taught
return是什么意思?我很好奇第三列是如何填充的——是某种 pseudo-column 吗?您可能想尝试用 []
包裹列名,请参阅:How to deal with SQL column names that look like SQL keywords?
即尝试:
select [count(division)] from num_taught;
您需要使用引号对您的列名进行转义(以防它是您在评论中提到的 Sqlite)。
select "count(division)" from num_taught;
或:
select * from num_taught as a, num_taught as b
where a."count(division)" = b."count(division)";
如果您不这样做,那么您正在使用 Database-system 提供的 count-function。 像这样命名列是非常不寻常的,这可能是您的导师设置的陷阱,或者在您的情况下初始化 table 时出错。