Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql中使用concat时计算中的字符串_Sql_Concatenation_Aggregate Functions - Fatal编程技术网

在sql中使用concat时计算中的字符串

在sql中使用concat时计算中的字符串,sql,concatenation,aggregate-functions,Sql,Concatenation,Aggregate Functions,我在计算concat语法中的字符串时遇到问题。 我计算了4列,结果如下 (完整,完整,不完整,不完整) 现在我想根据“完成”的数量给他们打分。例如,如果有4个完成,则为100%;如果有3个完成,则为60%,依此类推。 在sql中有什么方法可以做到这一点吗?我怀疑您希望这样的聚合: select avg(case when val = 'complete' then 1.0 else 0 end) as complete_ratio 请提供样本数据和预期结果。那么,如何从3个完整和1个不完整中计

我在计算concat语法中的字符串时遇到问题。 我计算了4列,结果如下

(完整,完整,不完整,不完整)

现在我想根据“完成”的数量给他们打分。例如,如果有4个完成,则为100%;如果有3个完成,则为60%,依此类推。
在sql中有什么方法可以做到这一点吗?我怀疑您希望这样的聚合:

select avg(case when val = 'complete' then 1.0 else 0 end) as complete_ratio

请提供样本数据和预期结果。那么,如何从3个完整和1个不完整中计算出60%呢?还要标记您真正使用的数据库,而不是其他数据库。