计算来自CTE(Common Table Expression,公共表表达式)的用户百分比通常涉及以下几个步骤:
以下是一个示例,假设我们有一个名为users
的表,其中包含用户信息,并且我们想要计算年龄大于30岁的用户的百分比。
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT
);
WITH UserCount AS (
SELECT COUNT(*) AS TotalUsers
FROM users
),
UsersAbove30 AS (
SELECT COUNT(*) AS UsersAbove30
FROM users
WHERE age > 30
)
SELECT
uc.TotalUsers,
u30.UsersAbove30,
(u30.UsersAbove30 * 100.0 / uc.TotalUsers) AS PercentageAbove30
FROM UserCount uc, UsersAbove30 u30;
100.0
而不是100
以确保进行浮点数除法,避免整数除法导致的精度丢失。领取专属 10元无门槛券
手把手带您无忧上云