什么是数据库电脑上用的是什么数据库

什么是数据库电脑上用的是什么数据库,第1张

1合理使用索引\x0d\索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。\x0d\索引的使用要恰到好处,其使用原则如下:\x0d\在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。\x0d\在频繁进行排序或分组(即进行group by或order by *** 作)的列上建立索引。\x0d\在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。\x0d\如果待排序的列有多个,可以在这些列上建立复合索引(compound index)。\x0d\使用系统工具。如Informix数据库有一个tbcheck工具,可以在可疑的索引上进行检查。在一些数据库服务器上,索引可能失效或者因为频繁 *** 作而 使得读取效率降低,如果一个使用索引的查询不明不白地慢下来,可以试着用tbcheck工具检查索引的完整性,必要时进行修复。另外,当数据库表更新大量 数据后,删除并重建索引可以提高查询速度。\x0d\(1)在下面两条select语句中:\x0d\SELECT FROM table1 WHERE field1=0; \x0d\SELECT FROM table1 WHERE field1>=0 AND field1=0,则第一条select语句要比第二条select语句效率高的多,因为第二条select语句的第一个条件耗费了大量的系统资源。\x0d\第一个原则:在where子句中应把最具限制性的条件放在最前面。\x0d\(2)在下面的select语句中:\x0d\SELECT FROM tab WHERE a= AND b= AND c=;\x0d\若有索引index(a,b,c),则where子句中字段的顺序应和索引中字段顺序一致。\x0d\第二个原则:where子句中字段的顺序应和索引中字段顺序一致。\x0d\—————————————————————————— \x0d\以下假设在field1上有唯一索引I1,在field2上有非唯一索引I2。 \x0d\—————————————————————————— \x0d\(3) SELECT field3,field4 FROM tb WHERE field1='sdf' 快 \x0d\SELECT FROM tb WHERE field1='sdf' 慢[/cci]\x0d\因为后者在索引扫描后要多一步ROWID表访问。\x0d\(4) SELECT field3,field4 FROM tb WHERE field1>='sdf' 快 \x0d\SELECT field3,field4 FROM tb WHERE field1>'sdf' 慢\x0d\因为前者可以迅速定位索引。\x0d\(5) SELECT field3,field4 FROM tb WHERE field2 LIKE 'R%' 快 \x0d\SELECT field3,field4 FROM tb WHERE field2 LIKE '%R' 慢,\x0d\因为后者不使用索引。\x0d\(6) 使用函数如: \x0d\SELECT field3,field4 FROM tb WHERE upper(field2)='RMN'不使用索引。\x0d\如果一个表有两万条记录,建议不使用函数;如果一个表有五万条以上记录,严格禁止使用函数!两万条记录以下没有限制。\x0d\(7) 空值不在索引中存储,所以 \x0d\SELECT field3,field4 FROM tb WHERE field2 IS[NOT] NULL不使用索引。\x0d\(8) 不等式如 \x0d\SELECT field3,field4 FROM tb WHERE field2!='TOM'不使用索引。 \x0d\相似地, \x0d\SELECT field3,field4 FROM tb WHERE field2 NOT IN('M','P')不使用索引。\x0d\(9) 多列索引,只有当查询中索引首列被用于条件时,索引才能被使用。\x0d\(10) MAX,MIN等函数,使用索引。 \x0d\SELECT max(field2) FROM tb 所以,如果需要对字段取max,min,sum等,应该加索引。\x0d\一次只使用一个聚集函数,如: \x0d\SELECT “min”=min(field1), “max”=max(field1) FROM tb \x0d\不如:SELECT “min”=(SELECT min(field1) FROM tb) , “max”=(SELECT max(field1) FROM tb)\x0d\(11) 重复值过多的索引不会被查询优化器使用。而且因为建了索引,修改该字段值时还要修改索引,所以更新该字段的 *** 作比没有索引更慢。\x0d\(12) 索引值过大(如在一个char(40)的字段上建索引),会造成大量的I/O开销(甚至会超过表扫描的I/O开销)。因此,尽量使用整数索引。 Sp_estspace可以计算表和索引的开销。\x0d\(13) 对于多列索引,ORDER BY的顺序必须和索引的字段顺序一致。\x0d\(14) 在sybase中,如果ORDER BY的字段组成一个簇索引,那么无须做ORDER BY。记录的排列顺序是与簇索引一致的。\x0d\(15) 多表联结(具体查询方案需要通过测试得到) \x0d\where子句中限定条件尽量使用相关联的字段,且尽量把相关联的字段放在前面。 \x0d\SELECT afield1,bfield2 FROM a,b WHERE afield3=bfield3\x0d\field3上没有索引的情况下: \x0d\对a作全表扫描,结果排序 \x0d\对b作全表扫描,结果排序 \x0d\结果合并。 \x0d\对于很小的表或巨大的表比较合适。\x0d\field3上有索引 \x0d\按照表联结的次序,b为驱动表,a为被驱动表 \x0d\对b作全表扫描 \x0d\对a作索引范围扫描 \x0d\如果匹配,通过a的rowid访问\x0d\(16) 避免一对多的join。如: \x0d\SELECT tb1field3,tb1field4,tb2field2 FROM tb1,tb2 WHERE tb1field2=tb2field2 AND tb1field2=‘BU1032’ AND tb2field2= ‘aaa’ \x0d\不如: \x0d\declare @a varchar(80) \x0d\SELECT @a=field2 FROM tb2 WHERE field2=‘aaa’ \x0d\SELECT tb1field3,tb1field4,@a FROM tb1 WHERE field2= ‘aaa’\x0d\(16) 子查询 \x0d\用exists/not exists代替in/not in *** 作 \x0d\比较: \x0d\SELECT afield1 FROM a WHERE afield2 IN(SELECT bfield1 FROM b WHERE bfield2=100) \x0d\SELECT afield1 FROM a WHERE EXISTS( SELECT 1 FROM b WHERE afield2=bfield1 AND bfield2=100) \x0d\SELECT field1 FROM a WHERE field1 NOT IN( SELECT field2 FROM b) \x0d\SELECT field1 FROM a WHERE NOT EXISTS( SELECT 1 FROM b WHERE bfield2=afield1)\x0d\(17) 主、外键主要用于数据约束,sybase中创建主键时会自动创建索引,外键与索引无关,提高性能必须再建索引。\x0d\(18) char类型的字段不建索引比int类型的字段不建索引更糟糕。建索引后性能只稍差一点。\x0d\(19) 使用count()而不要使用count(column_name),避免使用count(DISTINCT column_name)。\x0d\(20) 等号右边尽量不要使用字段名,如: \x0d\SELECT FROM tb WHERE field1 = field3\x0d\(21) 避免使用or条件,因为or不使用索引。\x0d\2避免使用order by和group by字句。\x0d\因为使用这两个子句会占用大量的临时空间(tempspace),如果一定要使用,可用视图、人工生成临时表的方法来代替。 \x0d\如果必须使用,先检查memory、tempdb的大小。 \x0d\测试证明,特别要避免一个查询里既使用join又使用group by,速度会非常慢!\x0d\3尽量少用子查询,特别是相关子查询。因为这样会导致效率下降。\x0d\一个列的标签同时在主查询和where子句中的查询中出现,那么很可能当主查询中的列值改变之后,子查询必须重新查询一次。查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。\x0d\4.消除对大型表行数据的顺序存取\x0d\在 嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响。 \x0d\比如采用顺序存取策略,一个嵌套3层的查询,如果每层都查询1000行,那么这个查询就要查询 10亿行数据。 \x0d\避免这种情况的主要方法就是对连接的列进行索引。 \x0d\例如,两个表:学生表(学号、姓名、年龄)和选课表(学号、课程号、成绩)。如果两个 表要做连接,就要在“学号”这个连接字段上建立索引。 \x0d\还可以使用并集来避免顺序存取。尽管在所有的检查列上都有索引,但某些形式的where子句强迫优化器使用顺序存取。 \x0d\下面的查询将强迫对orders表执行顺序 *** 作: \x0d\SELECT * FROM orders WHERE (customer_num=104 AND order_num>1001) OR order_num=1008 \x0d\虽然在customer_num和order_num上建有索引,但是在上面的语句中优化器还是使用顺序存取路径扫描整个表。因为这个语句要检索的是分离的行的集合,所以应该改为如下语句: \x0d\SELECT * FROM orders WHERE customer_num=104 AND order_num>1001 \x0d\UNION \x0d\SELECT * FROM orders WHERE order_num=1008 \x0d\这样就能利用索引路径处理查询。\x0d\5.避免困难的正规表达式\x0d\MATCHES和LIKE关键字支持通配符匹配,技术上叫正规表达式。但这种匹配特别耗费时间。例如:SELECT * FROM customer WHERE zipcode LIKE “98_ _ _” \x0d\即使在zipcode字段上建立了索引,在这种情况下也还是采用顺序扫描的方式。如果把语句改为SELECT * FROM customer WHERE zipcode >“98000”,在执行查询时就会利用索引来查询,显然会大大提高速度。 \x0d\另外,还要避免非开始的子串。例如语句:SELECT * FROM customer WHERE zipcode[2,3] >“80”,在where子句中采用了非开始子串,因而这个语句也不会使用索引。\x0d\6.使用临时表加速查询\x0d\把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序 *** 作,而且在其他方面还能简化优化器的工作。例如: \x0d\SELECT custname,rcvblesbalance,other COLUMNS \x0d\FROM cust,rcvbles \x0d\WHERE custcustomer_id = rcvlbescustomer_id \x0d\AND rcvbllsbalance>0 \x0d\AND custpostcode>“98000” \x0d\ORDER BY custname \x0d\如果这个查询要被执行多次而不止一次,可以把所有未付款的客户找出来放在一个临时文件中,并按客户的名字进行排序: \x0d\SELECT custname,rcvblesbalance,other COLUMNS \x0d\FROM cust,rcvbles \x0d\WHERE custcustomer_id = rcvlbescustomer_id \x0d\AND rcvbllsbalance>;0 \x0d\ORDER BY custname \x0d\INTO TEMP cust_with_balance \x0d\然后以下面的方式在临时表中查询: \x0d\SELECT * FROM cust_with_balance \x0d\WHERE postcode>“98000” \x0d\临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。 \x0d\注意:临时表创建后不会反映主表的修改。在主表中数据频繁修改的情况下,注意不要丢失数据。\x0d\7.用排序来取代非顺序存取\x0d\非顺序磁盘存取是最慢的 *** 作,表现在磁盘存取臂的来回移动。SQL语句隐藏了这一情况,使得我们在写应用程序时很容易写出要求存取大量非顺序页的查询。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

请告诉我没个函数是什么意思!!!

谢谢!!~~~

解析:

一、 数值函数

数值函数用于数值运算,其自变量与函数都是数值型数据。

1.取绝对值函数ABS( )

格式ABS(<nExp>)

功能计算nExp的值,并返回该值的绝对值。

2.指数函数EXP( )

格式EXP(<nExp>)

功能求以e为底、nExp值为指数的幂,即返回ex的值。

3.取整函数INT( )

格式INT(<nExp>)

功能计算nExp的值,返回该值的整数部分。

4.上界函数CEILING( )

格式CEILING(<nExp>)

功能计算nExp的值,返回一个大于或等于该值的最小整数。

5.下界函数FLOOR( )

格式FLOOR(<nExp>)

功能计算nExp的值,返回一个小于或等于该值的最大整数。

6.自然对数函数LOG( )

格式LOG(<nExp>)

功能求nExp的自然对数。nExp的值必须为正数。

7.常用对数函数

格式LOG10(<nExp>)

功能求nExp的常用对数。nExp的值必须为正数。

8.平方根函数SQRT( )

格式SQRT(<nExp>)

功能求非负nExp的平方根。

9.最大值函数MAX( )和最小值函数MIN( )

格式MAX(<nExp1>,< nExp2>[,< nExp3>])

MIN(<nExp1>,< nExp2>[,< nExp3>])

功能返回数值表达式中的最大值MAX( )和最小值MIN( )。

10.求余数函数MOD( )

格式MOD(<nExp1>,<nExp2>)

功能返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。

11.四舍五入函数ROUND( )

格式ROUND(<nExp1>,< nExp2>)

功能返回nExp1四舍五入的值, nExp2表示保留的小数位数。

12.π函数PI( )

格式PI( )

功能返回常量π的近似值

13.正弦函数SIN( )

格式SIN(<nExp>)

功能返回nExp的正弦值。nExp以弧度为单位,函数值域为[-1,1]。

14.余弦函数COS( )

格式COS(<nExp>)

功能返回nExp的余弦值。nExp以弧度为单位,函数的值域为[-1,1]。

15.正切函数TAN( )

格式TAN(<nExp>)

功能返回nExp的正切值。nExp以弧度为单位,其值为π/2或- π/2时,系统返回一个绝对值很大的数。

16.反正弦函数ASIN( )

格式ASIN(<nExp>)

功能返回nExp的反正弦值。自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2, π/2]。

17.反余弦函数ACOS( )

格式ACOS(<nExp>)

功能返回nExp的反余弦值。自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2, π/2]。

18.反正切函数ATAN( )

格式ATAN(<nExp>)

功能返回nExp的反正切值。函数值为弧度,值域为(-π/2, π/2)。

二、 字符函数

字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中涉及的字符型数据项,均以cExp表示。

1.子串位置函数

格式AT(<cExp1>,< cExp 2>)

功能返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。

2.取左子串函数LEFT( )

格式LEFT(<cExp>,<nExp>)

功能返回从cExp串中第一个字符开始,截取nExp个字符的子串。

3.取右子串函数RIGHT( )

格式RIGHT(<cExp >,< nExp>)

功能返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT( )函数。

4.取子串函数SUBSTR( )

格式SUBSTR (<cExp>,<nExp1> [,< nExp2>] )

功能返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。

5.字符串长度函数LEN( )

格式LEN(<cExp>)

功能返回cExp串的字符数(长度)。函数值为N型。

6.删除字符串前导空格函数LTRIM( )

格式LTRIM(<cExp>)

功能删除cExp串的前导空格字符。

7.删除字符串尾部空格函数RTRIM( ) | TRIM( )

格式RTRIM | TRIM(<cExp>)

功能删除cExp串尾部空格字符。

8.空格函数SPACE( )

格式SPACE (<nExp>)

功能返回一个包含nExp个空格的字符串。

9.字符串替换函数STUFF( )

格式STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)

功能从nExp1指定位置开始,用cExp2串替换 cExp1串中nExp2个字符。

10.字符复制函数 REPLICATE( )

格式REPLICATE (<cExp>,<nExp>)

功能返回将cExp串重复nExp次的字符串。

11.定义输出格式函数 TRANSFORM( )

格式TRANSFORM (<eExp>,<cExp>)

功能按格式描述式cExp指定的格式,输出任意表达式eExp的值。

12.大小写转换函数LOWER( ) 和UPPER( )

格式LOWER (<cExp>)

UPPER (<cExp>)

功能LOWER( )将cExp串中字母全部变成小写字母,UPPER( )将cExp串中字母全部变成大写字母,其它字符不变。

13.宏替换函数 &

格式& < cVar >[< cExp >]

功能替换出字符型变量cVar中字符。

三、 日期时间函数

日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。

1.系统日期函数DATE( )

格式DATE()

功能返回当前系统日期,此日期由Windows系统设置。函数值为D型。

2.系统时间函数TIME( )

格式TIME([<nExp>])

功能返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp ,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。函数值为C型。

3.日期函数DAY( )

格式DAY(<dExp>)

功能返回dExp式中的天数。函数值为N型

4.星期函数DOW( )、CDOW( )

格式DOW(<dExp>)

CDOW(<dExp>)

功能DOW( )函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。

5.月份函数MONTH( )、CMONTH( )

格式MONTH(<dExp>)

CMONTH(<dExp>)

功能MONTH( )函数返回dExp式中月份数。函数值为N型。CMONTH( )函数则返回月份的英文名。函数值为C型。

6.年份函数YEAR( )

格式YEAR(<dExp>)

功能函数返回dExp式中年份值。函数值为N型。

四、转换函数

在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。

1.ASCII码函数ASC( )

格式ASC (<cExp>)

功能返回cExp串首字符的ASCII码值。函数值为N型。

2.ASCII字符函数CHR( )

格式CHR(<nExp >)

功能返回以nExp值为ASCII码的ASCII字符。函数值为C型。

3.字符日期型转换函数CTOD( )

格式CTOD(<cExp>)

功能把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。

4.日期字符型转换函数DTOC( )

格式DTOC(<dExp >〔, 1〕)

功能把日期dExp转换成相应的字符串。函数值为C型。

5.数值字符型转换函数STR( )

格式STR(<nExp1>[,< nExp2>][,< nExp3>])

功能将nExp1的数值转换成字符串形式。函数值为C型。

6.字符数值型转换函数VAL( )

格式VAL (<cExp>)

功能将cExp串中数字转换成对应数值,转换结果取两位小数。函数值为N型。

五、 测试函数

在数据库应用的 *** 作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取 *** 作对象的相关属性。

1.数据类型函数TYPE( )

格式TYPE(<cExp >)

功能返回cExp 串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。

2.文件查找函数FILE()

格式FILE(<cExp>)

功能根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(T) 值,否则为逻辑假(F)值。

3.条件测试函数IIF( )

格式IIF(<lExp >,<eExp 1>,<eExp2>)

功能逻辑表达式lExp值为真(T),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。

4.表结束标志测试函数EOF( )

格式EOF([<工作区号> | <别名>])

功能测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(T),否则为假(F)。

5.表起始标识测试函数BOF ( )

格式BOF ([<工作区号> | <别名>])

功能测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(T),否则为假(F)。工作区说明见EOF()函数。

6.当前记录号函数RECNO()

格式RECNO([<工作区号> | <别名>])

功能返回指定工作区中表的当前记录的记录号。对于空表返回值为1。

7.当前记录逻辑删除标志测试函数DELETED( )

格式DELETED([<工作区号> | <别名>])

功能测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(T),否则为假(F)。

8.记录数函数RECCOUNT( )

格式RECCOUNT ([<工作区号> | <别名>])

功能返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。

9.记录大小测试函数RECSIZE( )

格式RECSIZE( [<工作区号> | <别名>] )

功能返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。

10.屏幕列坐标和行坐标函数 COL( )、ROW( )

格式COL ( )

ROW()

功能COL ( )返回光标的列坐标值,ROW ( )返回光标的行坐标值。

11.打印机列坐标和行坐标函数PCOL( ),PROW( )

格式PCOL( )

PROW()

功能返回打印机打印头所处位置的列坐标和行坐标。

在公式中输入=SUMIF(range,criteria,sum_range)

Range为条件区域。Criteria是求和条件。Sum_range 为实际求和区域。

例如:

选中F2单元格,输入公式:=SUMIF(B2:B19,E2,C2:C19),输入公式完成后,直接按enter键,即可统计出办公软件栏目的总流量。

选中F3单元格,输入公式:=SUMIF(B2:B19,E3,C2:C19),输入公式完成后,直接按enter键,可以求得网站运营栏目的总流量。

选中F4单元格,输入公式:=SUMIF(B2:B19,E4,C2:C19)可以求得电脑医院栏目的总流量。

选中F5单元格,输入公式:=SUMIF(B2:B19,E5,C2:C19)可以求得工具软件栏目的总流量。

选中F6单元格,输入公式:=SUMIF(B2:B19,E6,C2:C19)可以求得网络安全栏目的总流量。

扩展资料:

Excel函数大全

数据库和清单管理函数

AVERAGE 返回选定数据库项的平均值

COUNT 计算数据库中包含数字的单元格的个数

COUNTA计算数据库中非空单元格的个数

DGET 从数据库中提取满足指定条件的单个记录

MAX 返回选定数据库项中的最大值

MIN 返回选定数据库项中的最小值

PRODUCT 乘以特定字段(此字段中的记录为数据库中满足指定条件的记录)中的值

STDEV 根据数据库中选定项的示例估算标准偏差

STDEVP 根据数据库中选定项的样本总体计算标准偏差

SUM 对数据库中满足条件的记录的字段列中的数字求和

VAR 根据数据库中选定项的示例估算方差

VARP 根据数据库中选定项的样本总体计算方差

GETPIVOTDATA 返回存储在数据透视表中的数据

日期和时间函数

DATE 返回特定时间的系列数

DATEDIF 计算两个日期之间的年、月、日数

DATEVALUE 将文本格式的日期转换为系列数

DAY 将系列数转换为月份中的日

DAYS360 按每年360天计算两个日期之间的天数

EDATE 返回在开始日期之前或之后指定月数的某个日期的系列数

EOMONTH 返回指定月份数之前或之后某月的最后一天的系列数

HOUR 将系列数转换为小时

MINUTE 将系列数转换为分钟

MONTH 将系列数转换为月

NETWORKDAYS 返回两个日期之间的完整工作日数

NOW 返回当前日期和时间的系列数

SECOND 将系列数转换为秒

TIME 返回特定时间的系列数

TIMEVALUE 将文本格式的时间转换为系列数

TODAY 返回当天日期的系列数

WEEKDAY 将系列数转换为星期

WORKDAY 返回指定工作日数之前或之后某日期的系列数

YEAR 将系列数转换为年

YEARFRAC 返回代表START_DATE(开始日期)和END_DATE(结束日期)之间天数的以年为单位的分数

DDE 和外部函数

CALL 调用动态链接库(DLL)或代码源中的过程

REGISTER ID 返回已注册的指定DLL或代码源的注册ID

SQLREQUEST 连接外部数据源,并从工作表中运行查询,然后将结果作为数组返回,而无需进行宏编程。

有关CALL和REGISTER函数的其他信息

参考资料来源:百度百科-excel函数

参考资料来源:百度百科-SUMIF函数

Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00 00:00:00)

1用SELECT语句对数据进行统计汇总

2集合函数(聚合函数,统计函数)

3为了有效处理查询得到的数据集合,SQL Server提供了一系列统计函数

4这些函数可以实现数据集合和汇总:

avg ([ALL|DISTINCT]列名) 求指定数字字段的平均值

sum ([ALL|DISTINCT]列名) 求指定数字字段的总和

max([ALL|DISTINCT]列名) 求指定数字字段中最大值

min ([ALL|DISTINCT]列名) 求指定数字字段中最小值

count([ALL|DISTINCT]列名) 求满足条件记录中指定字段不为空的记录个数

count() 求满足条件记录总数

5用GROUP BY子句对记录分类统计汇总

格式:

GROUP BY 分组字段名列表[HAVING 条件表达式]

功能:按指定条件对指定字段依次分组进行统计汇总

注:

使用GROUP BY 的语句仍可用ORDER BY子句排序

但必须在GROUP BY之后可以使用别名但不允许对SELECT没指定的列排序

HAVING子句是对分组统计后的查询结果进行筛选

使用GROUP BY 的select语句仍可用WHERE子句指定条件

说明:

Select 指定的字段必须包含且只含GROUP BY子句中指定的分组字段(可以为它指定别名),

其他必须是由集合函数组成的一个或多个计算列,统计函数中所使用的列不受限制

GROUP BY子句中不允许使用字段或计算列的别名,可直接使用表达式

GROUP BY子句指定表达式时,select指定的字段中可以不包括该表达式

HAVING子句不允许使用别名

HAVING子句必须和GROUP BY一起使用,且设置的条件必须与GROUP BY 子句指定的分组字段有关

以上就是关于什么是数据库电脑上用的是什么数据库全部的内容,包括:什么是数据库电脑上用的是什么数据库、什么是数据库、数据库建立索引怎么利用索引查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9738259.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存