dafa888网页登录
公司名:dafa888网页登录
联系人:马先生
电话:0755-8888888
手机:13686817432
邮箱:1234569@163.com
地址:深圳市宝安区
您现在的位置: 首页 >编程> 阅读正文

django的聚合函数和aggregate、annotate方法使用详解

时间:2020-05-17 来源:网络 作者:admin 点击: 0 次

       (肚里墨汁太少,抑或径直看案例吧)几种常用的聚合函数(这边就不截图了,大伙儿可以试一下):1、AVG(DISTINCT|ALL)ALL示意对一切值求等分值,DISTINCT只对不一样的值求等分值SELECTAVG(SAL)FROMSCOTT.EMP;SELECTAVG(DISTINCTSAL)FROMSCOTT.EMP;2、MAX(DISTINCT|ALL)求最大值,ALL示意对一切值求最大值,DISTINCT示意对不一样的值求最大值,一样的只取一次(加不加查问后果一致,不知DISTINCT有何用途,不一样于AVG等聚合函数)SELECTMAX(DISTINCTSAL)FROMSCOTT.EMP;SELECTMAX(SAL)FROMSCOTT.EMP3、MIN(DISTINCT|ALL)求最小值,ALL示意对一切值求最小值,DISTINCT示意对不一样的值求最小值,一样的只取一次SELECTMIN(SAL)FROMSCOTT.EMP;SELECTMIN(DISTINCTSAL)FROMSCOTT.EMP;4、STDDEV(distinct|all)求基准差,ALL示意对一切值求基准差,DISTINCT示意只对不一样的值求基准差SELECTSTDDEV(SAL)FROMSCOTT.EMP;SELECTSTDDEV(DISTINCTSAL)FROMSCOTT.EMP;5、VARIANCE(DISTINCT|ALL)求协方差ALL示意对一切值求协方差,DISTINCT示意只对不一样的值求协方差SELECTVARIANCE(SAL)FROMSCOTT.EMP;SELECTVARIANCE(DISTINCTSAL)FROMSCOTT.EMP;6、SUM(DISTINCT|ALL)求和ALL示意对一切值求和,DISTINCT示意只对不一样值求和(一样值只取一次)SELECTSUM(SAL)FROMSCOTT.EMP;SELECTSUM(DISTINCTSAL)FROMSCOTT.EMP;7、COUNT(DISTINCT|ALL)求记要、数据个数。

       这误差是因一切可能性聚合上的基准误差的如常分布。

       实例12AVG函数对NULL值的料理从TEACHER表中查问一切老师的等分工钱。

       示范--比如表tbla有列col1品类为Bigint。

       AVG函数划算时将划算一组数的总和,然后除认为null的个数,取得等分值。

       示范--比如表tbla有一列value,品类为BIGINT。

       示范:selectcount(distinctage)fromperson--查问person表里的年纪绝无仅有且非空的项数6、划算基准偏差值STDEV语法构造:STDEV(all|distinctexpression)这边的expression务须是一个数值抒发式,不容许应用聚合函数和子查问。

       归来值说明归来DOUBLE品类或DECIMAL品类。

       当`value`值为NULL时,该行不介入划算。

       Inotherwords,aggregatefunctionsreturnthesamevalueeachtimethattheyarecalled,whencalledwithaspecificsetofinputvalues.关于函数规定性的详尽信息,请参见规定性函数和不规定性函数。

       二、数值函数【单行函数】--四舍五入,二个参数示意保留的位数,--正平头就向小数点后保留,负平头就向小数点前前保留;--不写二个参数默认保留0位小数selectround(56.16,1)fromdual;--径直截取,与round类似,但是不复四舍五入selecttrunc(56.16,-2)fromdual;--求仂selectmod(10,3)fromdual;习题:依据API念书:数值截取函数、取余函数等三、日子函数【单行函数】>sysdate示意眼下系时刻1).日子函数的演算1.日子–数目字=日子2.日子+数目字=日子3.日子–日子=数目字2).例子演示---查问出emp表中一切职工入职相距现时有若干天selectsysdate-e.hiredatefromempe;---算出明日此刻selectsysdate+1fromdual;---查问出emp表中一切职工入职相距现时几个月,【除非月有这函数】selectmonths_between(sysdate,e.hiredate)fromempe;---查问出emp表中一切职工入职相距现时几年selectmonths_between(sysdate,e.hiredate)/12fromempe;---查问出emp表中一切职工入职相距现时几周,四舍五入selectround((sysdate-e.hiredate)/7)fromempe;四、变换函数【单行函数】>对日子的变换配合格式不区别大大写1).to_char:将日子变换为字符串--将眼下天子变换成字符串selectto_char(sysdate,yyyy-mm-ddhh:mi:ss)fromdual;--fm撤销机动补0selectto_char(sysdate,fmyyyy-mm-ddhh:mi:ss)fromdual;--24小时计数法selectto_char(sysdate,yyyy-mm-ddhh24:mi:ss)fromdual;--查问一切雇员将将日月日划分selectempno,ename,to_char(hiredate,yyyy)年,to_char(hiredate,mm)月,to_char(hiredate,dd)日fromemp;2).to_date:将字符串变换为日子品类>模式得对应配合,例如fm24小时制--将字符串变换成日子selectto_date(2019-02-0916:23:50,yyyy-mm-ddhh24:mi:ss)fromdual;五、通用函数【单行函数,常用】>通用,MySQL等瓜葛型数据库中也得以应用1).空值null料理nvl>应用`nvl(notNullChoiceMe,ifNullChoiceMe)`>进展断定,头个参数是需求查问的值,如其是null,则应用二个参数,要不应用本身selecte.sal12+nvl(e.comm,0)fromempe;2).casewhen:环境抒发式1\\.语法CASEexprWHENcomparison_expr1THENreturn_expr1WHENcomparison_expr2THENreturn_expr2WHENcomparison_exprnTHENreturn_exprnELSEelse_exprEND2\\.例子1.【等值断定】为查问后果取别名selecte.ename,casee.enamewhenSMITHthen史密斯whenALLENthen爱丽丝whenWARDthen守卫else默默无闻之辈endfromempe;2.【范畴断定】断定emp表中职工工钱,如其高于3000显得高收益,如其咋1500~3000显得中,别显得低收益。

       ","

       下是实例:sqlite>SELECTsqlite_versionASSQLiteVersion;上的SQLiteSQL文句将发生以次后果:SQLiteVersion--------------3.6.20,mysql窗口函数、聚合函数2019-02-1915:45阅:窗口函数:一、依照作用分开,得以把MySQL撑持的窗口函数分成如次几类:序号函数:row_number/rank/dense_rank分布函数:percent_rank/cume_dist前后函数:lag/lead头尾函数:first_val/last_val其它函数:nth_value/nfile求和sumover二、窗口函数的根本用法如次:window_nameover(partition_defintion|order_definition|frame_definition)内中,over是关头字,用于指定函数履行的窗口范畴,如其后括号中何都不写,则寓意着窗口含满脚where环境的一切行,窗口函数因一切行进展划算;如其不为空,则撑持以次四种语法来设立窗口:(1)window_function_name:给窗口指定一少数名,如其SQL中关涉的窗口较多,利用别名得以看上去更明晰易读。

       语法如次。

       array务须为非聚合函数公式归来的后果,得以是某指标字段、维度或指标字段与一般公式的划算后果。

       array务须为非聚合函数公式归来的后果,得以是某指标字段、维度或指标字段与一般公式的划算后果。

       array务须为非聚合函数公式归来的后果,得以是某指标字段、维度或指标字段与一般公式的划算后果。