精华内容
下载资源
问答
  • sql 常用函数总和

    千次阅读 2016-12-30 09:37:56
    一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数...
    一、数学函数
    
    ABS(x)   返回x的绝对值
    BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制)
    CEILING(x)    返回大于x的最小整数值
    EXP(x)   返回值e(自然对数的底)的x次方
    FLOOR(x)   返回小于x的最大整数值
    GREATEST(x1,x2,...,xn)返回集合中最大的值
    LEAST(x1,x2,...,xn)            返回集合中最小的值
    LN(x)                                        返回x的自然对数
    LOG(x,y)返回x的以y为底的对数
    MOD(x,y)                                  返回x/y的模(余数)
    PI()返回pi的值(圆周率)
    RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
    ROUND(x,y)返回参数x的四舍五入的有y位小数的值
    SIGN(x) 返回代表数字x的符号的值
    SQRT(x) 返回一个数的平方根
    TRUNCATE(x,y)                        返回数字x截短为y位小数的结果

    二、聚合函数(常用于GROUP BY从句的SELECT查询中)
    AVG(col)返回指定列的平均值
    COUNT(col)返回指定列中非NULL值的个数
    MIN(col)返回指定列的最小值
    MAX(col)返回指定列的最大值
    SUM(col)返回指定列的所有值之和
    GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

    三、字符串函数
    ASCII(char)返回字符的ASCII码值
    BIT_LENGTH(str)返回字符串的比特长度
    CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串
    CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔
    INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
    FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置
    LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果
    LEFT(str,x)返回字符串str中最左边的x个字符
    LENGTH(s)返回字符串str中的字符数
    LTRIM(str) 从字符串str中切掉开头的空格
    POSITION(substr,str) 返回子串substr在字符串str中第一次出现的位置
    QUOTE(str) 用反斜杠转义str中的单引号
    REPEAT(str,srchstr,rplcstr)返回字符串str重复x次的结果
    REVERSE(str) 返回颠倒字符串str的结果
    RIGHT(str,x) 返回字符串str中最右边的x个字符
    RTRIM(str) 返回字符串str尾部的空格
    STRCMP(s1,s2)比较字符串s1和s2
    TRIM(str)去除字符串首部和尾部的所有空格
    UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果

    四、日期和时间函数
    CURDATE()或CURRENT_DATE() 返回当前的日期
    CURTIME()或CURRENT_TIME() 返回当前的时间
    DATE_ADD(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL 6 MONTH);
    DATE_FORMAT(date,fmt)    依照指定的fmt格式格式化日期date值
    DATE_SUB(date,INTERVAL int keyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_SUB(CURRENT_DATE,INTERVAL 6 MONTH);
    DAYOFWEEK(date)      返回date所代表的一星期中的第几天(1~7)
    DAYOFMONTH(date)    返回date是一个月的第几天(1~31)
    DAYOFYEAR(date)      返回date是一年的第几天(1~366)
    DAYNAME(date)      返回date的星期名,如:SELECT DAYNAME(CURRENT_DATE);
    FROM_UNIXTIME(ts,fmt)    根据指定的fmt格式,格式化UNIX时间戳ts
    HOUR(time)      返回time的小时值(0~23)
    MINUTE(time)      返回time的分钟值(0~59)
    MONTH(date)      返回date的月份值(1~12)
    MONTHNAME(date)      返回date的月份名,如:SELECT MONTHNAME(CURRENT_DATE);
    NOW()        返回当前的日期和时间
    QUARTER(date)      返回date在一年中的季度(1~4),如SELECT QUARTER(CURRENT_DATE);
    WEEK(date)      返回日期date为一年中第几周(0~53)
    YEAR(date)      返回日期date的年份(1000~9999)
    一些示例:
    获取当前系统时间:SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
    SELECT EXTRACT(YEAR_MONTH FROM CURRENT_DATE);
    SELECT EXTRACT(DAY_SECOND FROM CURRENT_DATE);
    SELECT EXTRACT(HOUR_MINUTE FROM CURRENT_DATE);
    返回两个日期值之间的差值(月数):SELECT PERIOD_DIFF(200302,199802);
    在Mysql中计算年龄:
    SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)),'%Y')+0 AS age FROM employee;
    这样,如果Brithday是未来的年月日的话,计算结果为0。
    下面的SQL语句计算员工的绝对年龄,即当Birthday是未来的日期时,将得到负值。
    SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(birthday, '%Y') -(DATE_FORMAT(NOW(), '00-%m-%d') <DATE_FORMAT(birthday, '00-%m-%d')) AS age from employee

    五、加密函数
    AES_ENCRYPT(str,key)    返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,以BLOB类型存储
    AES_DECRYPT(str,key)    返回用密钥key对字符串str利用高级加密标准算法解密后的结果
    DECODE(str,key)      使用key作为密钥解密加密字符串str
    ENCRYPT(str,salt)     使用UNIXcrypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串str
    ENCODE(str,key)      使用key作为密钥加密字符串str,调用ENCODE()的结果是一个二进制字符串,它以BLOB类型存储
    MD5()        计算字符串str的MD5校验和
    PASSWORD(str)      返回字符串str的加密版本,这个加密过程是不可逆转的,和UNIX密码加密过程使用不同的算法。
    SHA()        计算字符串str的安全散列算法(SHA)校验和
    示例:
    SELECT ENCRYPT('root','salt');
    SELECT ENCODE('xufeng','key');
    SELECT DECODE(ENCODE('xufeng','key'),'key');#加解密放在一起
    SELECT AES_ENCRYPT('root','key');
    SELECT AES_DECRYPT(AES_ENCRYPT('root','key'),'key');
    SELECT MD5('123456');
    SELECT SHA('123456');

    六、控制流函数
    MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台。
    MySQL控制流函数:
    CASE WHEN[test1] THEN [result1]...ELSE [default] END如果testN是真,则返回resultN,否则返回default
    CASE [test] WHEN[val1] THEN [result]...ELSE [default]END    如果test和valN相等,则返回resultN,否则返回default
    IF(test,t,f)     如果test是真,返回t;否则返回f
    IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2
    NULLIF(arg1,arg2) 如果arg1=arg2返回NULL;否则返回arg1
    这些函数的第一个是IFNULL(),它有两个参数,并且对第一个参数进行判断。如果第一个参数不是NULL,函数就会向调用者返回第一个参数;如果是NULL,将返回第二个参数。
    如:SELECT IFNULL(1,2), IFNULL(NULL,10),IFNULL(4*NULL,'false');
    NULLIF()函数将会检验提供的两个参数是否相等,如果相等,则返回NULL,如果不相等,就返回第一个参数。
    如:SELECT NULLIF(1,1),NULLIF('A','B'),NULLIF(2+3,4+1);
    和许多脚本语言提供的IF()函数一样,MySQL的IF()函数也可以建立一个简单的条件测试,这个函数有三个参数,第一个是要被判断的表达式,如果表达式为真,IF()将会返回第二个参数,如果为假,IF()将会返回第三个参数。
    如:SELECTIF(1<10,2,3),IF(56>100,'true','false');
    IF()函数在只有两种可能结果时才适合使用。然而,在现实世界中,我们可能发现在条件测试中会需要多个分支。在这种情况下,MySQL提供了CASE函数,它和PHP及Perl语言的switch-case条件例程一样。
    CASE函数的格式有些复杂,通常如下所示:
    CASE [expression to be evaluated]
    WHEN [val 1] THEN [result 1]
    WHEN [val 2] THEN [result 2]
    WHEN [val 3] THEN [result 3]
    ......
    WHEN [val n] THEN [result n]
    ELSE [default result]
    END
    这里,第一个参数是要被判断的值或表达式,接下来的是一系列的WHEN-THEN块,每一块的第一个参数指定要比较的值,如果为真,就返回结果。所有的WHEN-THEN块将以ELSE块结束,当END结束了所有外部的CASE块时,如果前面的每一个块都不匹配就会返回ELSE块指定的默认结果。如果没有指定ELSE块,而且所有的WHEN-THEN比较都不是真,MySQL将会返回NULL。
    CASE函数还有另外一种句法,有时使用起来非常方便,如下:
    CASE
    WHEN [conditional test 1] THEN [result 1]
    WHEN [conditional test 2] THEN [result 2]
    ELSE [default result]
    END
    这种条件下,返回的结果取决于相应的条件测试是否为真。
    示例:
    mysql>SELECT CASE 'green'
              WHEN 'red' THEN 'stop'
              WHEN 'green' THEN 'go' END;
    SELECT CASE 9 WHEN 1 THEN 'a' WHEN 2 THEN 'b' ELSE 'N/A' END;
    SELECT CASE WHEN (2+2)=4 THEN 'OK' WHEN(2+2)<>4 THEN 'not OK' END ASSTATUS;
    SELECT Name,IF((IsActive = 1),'已激活','未激活') AS RESULT FROMUserLoginInfo;
    SELECT fname,lname,(math+sci+lit) AS total,
    CASE WHEN (math+sci+lit) < 50 THEN 'D'
    WHEN (math+sci+lit) BETWEEN 50 AND 150 THEN 'C'
    WHEN (math+sci+lit) BETWEEN 151 AND 250 THEN 'B'
    ELSE 'A' END
    AS grade FROM marks;
    SELECT IF(ENCRYPT('sue','ts')=upass,'allow','deny') AS LoginResultFROM users WHERE uname = 'sue';#一个登陆验证

    七、格式化函数
    DATE_FORMAT(date,fmt)    依照字符串fmt格式化日期date值
    FORMAT(x,y)      把x格式化为以逗号隔开的数字序列,y是结果的小数位数
    INET_ATON(ip)      返回IP地址的数字表示
    INET_NTOA(num)      返回数字所代表的IP地址
    TIME_FORMAT(time,fmt)    依照字符串fmt格式化时间time值
    其中最简单的是FORMAT()函数,它可以把大的数值格式化为以逗号间隔的易读的序列。
    示例:
    SELECT FORMAT(34234.34323432,3);
    SELECT DATE_FORMAT(NOW(),'%W,%D %M %Y %r');
    SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');
    SELECT DATE_FORMAT(19990330,'%Y-%m-%d');
    SELECT DATE_FORMAT(NOW(),'%h:%i %p');
    SELECT INET_ATON('10.122.89.47');
    SELECT INET_NTOA(175790383);

    八、类型转化函数
    为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
    示例:
    SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
    SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);

    九、系统信息函数
    DATABASE()      返回当前数据库名
    BENCHMARK(count,expr)    将表达式expr重复运行count次
    CONNECTION_ID()      返回当前客户的连接ID
    FOUND_ROWS()      返回最后一个SELECT查询进行检索的总行数
    USER()或SYSTEM_USER()    返回当前登陆用户名
    VERSION()      返回MySQL服务器的版本
    示例:
    SELECT DATABASE(),VERSION(),USER();

    SELECTBENCHMARK(9999999,LOG(RAND()*PI()));#该例中,MySQL计算LOG(RAND()*PI())表达式9999999次。


    也可查询→sql教程

    展开全文
  • SAS 中计算总和或者计算总数的方法

    千次阅读 2019-07-03 11:11:00
    SAS 在数据步中可以使用 retain 来计算总和或者个数,简单介绍一下,主要介绍使用 sql 语句获得总和或者个数。 (1)使用 retain 来计算,一般是先使用 retain 声明变量,然后直接使用变量进行计算 1 * retain...

    SAS 在数据步中可以使用 retain 来计算总和或者个数,简单介绍一下,主要介绍使用 sql 语句获得总和或者个数。

    (1)使用 retain 来计算,一般是先使用 retain 声明变量,然后直接使用变量进行计算

     1 * retain的使用,计算总体人数,但是每一个观测都会含有一个num 变量 ;
     2 data calc_num;
     3 retain num;
     4 input name $ age sex $;
     5 num+1;
     6 cards;
     7 zhou 18 f
     8 wang 23 m
     9 li 34 f
    10 wu 25 m
    11 ;
    12 run;
    13 
    14 proc print data=calc_num;
    15 run;

    结果是:

    (2)使用 sql 语句来计算,使用的时候,只需要使用 sum(字段名),count(字段名)和 group by 相结合

     1 *sql 的使用;
     2 dm log "clear";
     3 ods listing;
     4 
     5 data temp;
     6 input name $ subject $ score;
     7 cards;
     8 zhou math 100
     9 wang math 90
    10 li math 98
    11 zhou chinese 120
    12 wang chinese 100
    13 li chinese 85
    14 zhou english 100
    15 wang english 80
    16 li english 90
    17 ;
    18 run;
    19 
    20 proc sql;
    21 create table student_sum as
    22 select
    23     name,
    24     sum(score) as sum,
    25     count(score) as num
    26 /*    score*/
    27 from 
    28     work.temp
    29 group by
    30     name
    31 order by
    32     num;
    33 run;
    34 
    35 proc print data=student_sum;
    36 run;

    结果为:

     

    注意:

    都是同样的问题,sql 处理问题的方法比 data 步更加人性化

     

    转载于:https://www.cnblogs.com/elkan/p/11125252.html

    展开全文
  • #region 计算已使用 protected void showUsed() { //获得当前列表 using (SPSite site = new SPSite(SPContext.Current.Site.ID)) { using (SPWeb web =
    #region  计算已使用
            protected void showUsed()
            {
                //获得当前列表
                using (SPSite site = new SPSite(SPContext.Current.Site.ID))
                {
                    using (SPWeb web = site.OpenWeb("expense"))
                    {
                        SPList list = web.Lists["EBRL"];
                        SPQuery Query = new SPQuery();
                        //获得一个集合,这个集合是包含个人数据相关的一些信息.
                        //SPUser sptest = SPContext.Current.Web.CurrentUser;
                        string loginName = labUserName.Text.Trim();
                        try
                        {
                            //caml查询 sptest集合的 sptest.LoginName 获得当前用户帐号    
                            Query.Query = string.Format("<Where><Eq><FieldRef Name='Submitter' /><Value Type='Text'>{0}</Value></Eq></Where>", loginName);
                            //得到caml的结果
                            DataTable mydt =list.GetItems(Query).GetDataTable();
                             //聚合函数 把条件为1的所有行的 total总和
                            object getSum = mydt.Compute("Sum(Total)", "state = 1");
                            //已用
                            txtMonth.Text = getSum.ToString();
                            //未用
                            txtUntreated.Text = mydt.Compute("Sum(Total)", "state = 0").ToString();
                        }
                        catch
                        {
                        }
                    }
                }
               
            }
    #endregion

    原创手写  2013-03-27

    群:212099235


    展开全文
  • public static void whileMethod(int[] array) { if (array == null || array.length ) { return; } int sum = 0; int i = 0; while ( i ) { sum += array[i];
    
    public static void whileMethod(int[] array) {
        if (array == null || array.length < 1) {
            return;
        }
    
        int sum = 0;
        int i = 0;
    
        while ( i < array.length) {
            sum += array[i];
            i++;
        }
    
        System.out.println("while:"+sum);
    
    }
    
    public static void forMethod(int[] array) {
        if (array == null || array.length < 1) {
            return;
        }
    
        int sum = 0;
        for (int num : array) {
            sum += num;
        }
    
        System.out.println("for:"+sum);
    
    }
    
    public static int recursiveMethod(int[] array,int i) {
        if (array == null || array.length < 1) {
            return 0;
        }
    
        if (i < array.length ) {
            return array[i] + recursiveMethod(array, i+1);
        }
    
        return 0;
    
    }
    
    public static void main(String[] args) {
    
        int[] array = {1,3,4,5,7};
    
        whileMethod(array);
    
        forMethod(array);
    
        System.out.println("recursive:"+recursiveMethod(array, 0));
    
    }
    
    展开全文
  • var  i,randvalue,maxrandvalue,sum,minrandvalue:integer; begin  sum:=0;  i:=0;  maxrandvalue:=0;  while i  randvalue:=random(2000);... if (randvalue>=1000)and(randvalue)... ',总和 :'+inttostr(sum));
  • Tableau 表计算函数

    千次阅读 2020-09-03 21:33:50
    使用表计算函数可自定义表计算。 表计算应用于整个表中值的计算, 通常依赖于表结构本身。 1.FIRST() 返回从当前行到分区中第一行的行数。 例如, 计算每季度销售额。在Date分区中计算FIRST()时, 第一行与第二行...
  • JS计算数组的总和

    千次阅读 2019-09-04 10:18:00
    1.最简单的遍历累计 var arr=[1,2,3,4,5,6] var sum =0 ...2.利用reduce(),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 add:(...args...
  • 对于如果使用聚合函数的话,就可以写成 select sum(cast (yourcol as int)) from  yourtable 就是统计yourcol的总和 本文转自 我不会抽烟 51CTO博客,原文链接:...
  • 利用reduce来求一个由数字组成的数组的和是很简单的: const arr = [1, 2, 3, 4, 5]; let res = arr.reduce((total, num) =&gt; total + num); 那么当数组比较复杂时如何优雅求和? const arr = [ {name:...
  • 首先以低维数据为例,将低维数据的损失函数可视化,给出对于待优化问题的直观印象,并证明了SVM损失函数的分段线性化;接下来讨论了随机搜索、随机局部搜索以及梯度下降三种方法;然后讨论了数值和解析形式的梯度...
  • 首先是自己写的代码如下: // sinx.cpp : 定义控制台应用程序的入口点。...//该函数计算阶乘 double ProductFunc(double x) { double product =x; while (1!=x) { product *= (--x); } return pro
  • 四、窗口函数应用 上面给大家介绍了若干常用的 “窗口函数”,这里利用文首创建的数据,讲讲 “窗口函数” 的应用。 希望大家通过每个案例,来总结一下每个函数的含义,这里就不详细写了。 1. 聚合函数 + over()...
  • array_sum()定义和用法 array_sum() 函数返回数组中所有值的总和。 如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。 PHP 4.2.1 之前的版本修改了传入的数组本身,将其中的...
  • SELECT ( EXTRACT ( DAY FROM SUM (e.out_time - e.in_time) ) * 24 + EXTRACT ( HOUR ... SUM (e.out_time - e.in_time) ...利用extract函数,提取出差值中的天数和小时数相加。
  • 用循环计算1--100的总和

    千次阅读 2015-04-03 00:03:50
    * 用循环实现1——100的总和。 * 课本54页第一题 * Sum.java * @author LGM * @version 2015.03.28 */ public class Sum { public static void main(String[] args) { int sum = 0; for (int i = 1; i...
  • OpenCv 关于矩阵的相关计算函数

    千次阅读 2012-11-20 14:37:09
    函数和 cvSVD 函数被用来执行 cvInvert 和 cvSolve, 用这些函数 (svd & bksb)的原因是初级函数(low-level) 函数可以避免高级函数 (inv & solve) 计算中内部分配的临时矩阵。 EigenVV 计算...
  • scilab中计算B样条基函数

    千次阅读 2007-12-19 02:28:00
    scilab中计算B样条基函数 =========================================================== 用scilab通过调用脚本计算给定u和i的B样条基函数由给定的u值来求B样条曲线上面的点的公式是:,Pi为控制顶点,U={u0,u1,...
  • 编写此函数是为了计算图像中每个像素周围的八个像素的总和。 在模拟细胞建模场景中的接触相关交互时,此功能很有用。
  • 利用递归函数求1+2+3+…n,n在主函数中从键盘输入。函数原型为 int sum (int n); #include<iostream> using namespace std; int main() { int n,sum1=0; int sum(int n); cout<<"请输入数字:"<<...
  • DL之DNN:利用numpy自定义三层结构+softmax函数建立3层完整神经网络全部代码实现(探究BP神经网络的底层思想) 目录 输出结果 代码实现 输出结果 代码实现 #DL之NN:利用numpy自定义三...
  • C语言作业:将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。#include float average(float f[],int n){ int i; float ave,sum=0; for(i...
  • Python内置函数

    千次阅读 多人点赞 2019-05-10 15:10:36
    Python内置函数Python abs()函数Python all() 函数Python any() 函数Python basestring() 函数Python bin() 函数Python bool() 函数Python bytearray() 函数Python callable() 函数Python chr() 函数Python ...
  • 一、虚函数的工作原理  虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的...
  • 题目:要求从键盘输入若干个数字,利用函数是实现求个数、总和、平均值、方差和中位值的计算。 from math import sqrt print("请输入数字(Enter确认/两次Enter退出),且至少需要输入两个数字。") # 从键盘获取数字 ...
  • python常用函数总结

    万次阅读 多人点赞 2018-04-23 11:40:49
    普通函数 一、输入输出函数 1、print()函数 输出函数 向屏幕输出指定的汉字 print(&quot;hello world&quot;) print()函数可以同时输出多个字符串,用逗号“,”隔开 print(&quot;hello&...
  • 分析函数

    千次阅读 2013-04-12 14:06:31
    分析函数是Oracle从8.1.6开始引入的一个全新的概念,用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。在分析函数出现以前,有时我们必须使用自联查询,...
  • groupby函数详解

    万次阅读 多人点赞 2019-06-06 13:40:19
    pandas中groupby函数用法详解1 groupby()核心用法2 groupby()语法格式3 groupby()参数说明4 groupby()典型范例 1 groupby()核心用法 (1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合...
  • 编写函数,计算二维数组中正数的平均值和负数的个数,通过两个全局变量返回 a.主函数中定义一个3行4列的二维数组,数组元素类型不限,在程序中对数组元素进行赋值 b.主函数中输出该二维数组(显示为3行4列)、正数的平均...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,326
精华内容 16,130
关键字:

利用函数计算总和