pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

SQL:使用聚合函數(shù)獲取百分比的查詢有問(wèn)題

SQL: Having trouble with query that gets percentages using aggregate functions(SQL:使用聚合函數(shù)獲取百分比的查詢有問(wèn)題)
本文介紹了SQL:使用聚合函數(shù)獲取百分比的查詢有問(wèn)題的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我無(wú)論如何都不是 SQL 專家,并且很難從查詢中獲取我需要的數(shù)據(jù).我正在處理一個(gè)表,Journal_Entry,它有很多列.一列是 Status_ID,它是 Status 表的外鍵,具有三個(gè)值Green"、Yellow"和Red".此外,日志條目是針對(duì)特定用戶 (User_ID) 記錄的.

I'm not an expert in SQL by any means, and am having a hard time getting the data I need from a query. I'm working with a single table, Journal_Entry, that has a number of columns. One column is Status_ID, which is a foreign key to a Status table with three values "Green", "Yellow", and "Red". Also, a journal entry is logged against a particular User (User_ID).

我正在嘗試獲取為每個(gè)狀態(tài)記錄的日記條目數(shù),作為特定用戶記錄的日記條目總數(shù)的百分比.到目前為止,我已經(jīng)獲得了以下?tīng)顟B(tài)為 1 的狀態(tài),即綠色(我知道這不起作用):

I'm trying to get the number of journal entries logged for each Status, as a percentage of the total number of journal entries logged by a particular user. So far I've got the following for a Status of 1, which is green (and I know this doesn't work):

SELECT  CAST((SELECT COUNT(Journal_Entry_ID) 
        FROM Journal_Entry 
        WHERE Status_ID = 1 AND User_ID = 3 / 
        SELECT COUNT(Journal_Entry_ID) 
        FROM Journal_Entry AND User_ID = 3)) AS FLOAT * 100

我需要繼續(xù)查詢其他兩個(gè)狀態(tài) ID,2 和 3,理想情況下希望以選擇三列作為百分比結(jié)束,每個(gè)狀態(tài)一列:Green_Percent"、Yellow_Percent"和"Red_Percent".

I need to continue the query for the other two status ID's, 2 and 3, and ideally would like to end with the selection of three columns as percentages, one for each Status: "Green_Percent", "Yellow_Percent", and "Red_Percent".

這可能是我問(wèn)過(guò)的最雜亂無(wú)章的問(wèn)題,因此對(duì)于任何不夠明確的問(wèn)題,我深表歉意.我很樂(lè)意在必要時(shí)進(jìn)行澄清.另外,我使用的是 SQL Server 2005.

This is probably the most disjointed question I've ever asked, so I apologize for any lack of clarity. I'll be happy to clarify as necessary. Also, I'm using SQL Server 2005.

非常感謝.

推薦答案

使用:

  SELECT je.statusid,
         COUNT(*) AS num,
         (COUNT(*) / (SELECT COUNT(*)+.0
                       FROM JOURNAL_ENTRY) ) * 100
    FROM JOURNAL_ENTRY je
GROUP BY je.statusid

然后是格式化您想要的精度的問(wèn)題:

Then it's a matter of formatting the precision you want:

CAST(((COUNT(*) / (SELECT COUNT(*)+.0 FROM BCCAMPUS.dbo.COURSES_RFIP)) * 100)
     AS DECIMAL(4,2))

...將給出兩位小數(shù).如果您不需要任何小數(shù)位,請(qǐng)將結(jié)果轉(zhuǎn)換為 INT.

...will give two decimal places. Cast the result to INT if you don't want any decimal places.

您可以使用 CTE 來(lái)減少重復(fù):

You could use a CTE to minimize the duplication:

WITH cte AS (
   SELECT je.*
     FROM JOURNAL_ENTRY je
    WHERE je.user_id = 3)
  SELECT c.statusid,
         COUNT(*) AS num,
         (COUNT(*) / (SELECT COUNT(*)+.0
                       FROM cte) ) * 100
    FROM cte c
GROUP BY c.statusid

這篇關(guān)于SQL:使用聚合函數(shù)獲取百分比的查詢有問(wèn)題的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Modify Existing decimal places info(修改現(xiàn)有小數(shù)位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關(guān)名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號(hào)或管道運(yùn)算符字符串中刪除重復(fù)項(xiàng))
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關(guān)系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 酵素生产厂家_酵素OEM_酵素加盟_酵素ODM_酵素原料厂家_厦门益力康 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 深圳南财多媒体有限公司介绍| 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 炒货机-炒菜机-炒酱机-炒米机@霍氏机械 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 瓶盖扭矩测试仪-瓶盖扭力仪-全自动扭矩仪-济南三泉中石单品站 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 数字展示在线_数字展示行业门户网站 | 伸缩节_伸缩器_传力接头_伸缩接头_巩义市联通管道厂 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 深圳办公室装修,办公楼/写字楼装修设计,一级资质 - ADD写艺 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 3D全息投影_地面互动投影_360度立体投影_水幕灯光秀 | 广东银虎 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备| SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 |