按百分比从我的数据库中获取当月的所有记录

本文关键字:记录 获取 百分比 我的 数据库 | 更新日期: 2023-09-27 18:35:10

我正在使用VS2010为我的应用程序构建报告。
我的数据库有两个表:用户和clinical_data。"用户"表有一个名为"性别"的列,
患者注册号,Clinical_data表包含列:注册号。对于在"用户"表中退出并具有Clinical_data
存储的每个注册用户他或她,我希望我的查询显示:
当前日期的男性和女性总数,男性和女性的百分比:这是我的查询,但对我不起作用:

    select COUNT(gender )  From Bio_Data
where  DateCreated = ADDDATE(GETDATE());

按百分比从我的数据库中获取当月的所有记录

我认为以下查询将帮助您获得结果

SELECT ( Sum(CASE 
               WHEN Gender = 'm' THEN 1.0 
               ELSE 0 
             END) / Count(*) ) * 100 AS male_percent, 
       ( Sum(CASE 
               WHEN Gender = 'f' THEN 1.0 
               ELSE 0 
             END) / Count(*) ) * 100 AS female_percent, 
       Sum(CASE 
             WHEN Gender = 'm' THEN 1.0 
             ELSE 0 
           END) / Sum(CASE 
                        WHEN Gender = 'f' THEN 1.0 
                        ELSE 0 
                      END)           AS ratio, 
       Sum(1)                        AS total_Male_Female 
FROM   Users 
       INNER JOIN Clinical_data 
         ON Users.RegistrationNo = Clinical_data.RegistrationNo