SELECT
(COUNT(CASE WHEN state = '已出库' THEN 1 END) * 100.0) / COUNT(*) AS 百分比
FROM
your_table_name;
CASE WHEN state = ‘已出库’ THEN 1 END:这是一个CASE表达式,它用于对state列的值进行条件判断。如果state的值等于’已出库’,则返回1;否则返回NULL。这个表达式将对符合条件的行返回1,对不符合条件的行返回NULL。
COUNT(…):COUNT函数用于计算指定表达式的行数。在这里,它用于计算CASE表达式返回1的行数。因此,它会计算表中满足条件 state = ‘已出库’ 的行数。
所以,COUNT(CASE WHEN state = ‘已出库’ THEN 1 END) 将返回状态为’已出库’的行数。这个值将被用来计算百分比。