0

我正在尝试运行查询以根据性别查找工匠的数量和百分比。该查询在 SQL Server 8 上运行得非常好。但在我的实时服务器 4.9.5 上却没有。以下是我的查询。

SELECT industry
       , count(*) as cnt
       , (count(*)*100.0/sum(count(*))over()) as perc 
FROM `artisan_work` 
GROUP BY industry 
ORDER BY cnt DESC 
4

2 回答 2

0

在任何数据库中,您应该能够使用:

SELECT aw.industry, count(*) as cnt,
       count(*) * 100.0 / tot.cnt as perc 
FROM artisan_work aw cross join
     (SELECT COUNT(*) as cnt FROM artisan_work) tot
GROUP BY aw.industry 
ORDER BY cnt DESC 
于 2021-05-04T15:19:38.183 回答
0
SELECT industry
       , count(*) as cnt
       , (count(*)*100.0/(select count(*) from artisan_work )) as perc 
FROM artisan_work  a
GROUP BY industry 
ORDER BY cnt DESC 
于 2021-05-04T16:03:11.413 回答