sql获取字符串中一个字符的所占数量

select uname,len(uname)-len(replace(uname,',','')) from tableName

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MS Query基础语法讲解: 一、单表查询 单表查询是指仅涉及一个表的查询 1、查询指定列 例1、查询材料进货明细表的定额名称及规格 SELECT 定额名称,规格 FROM [材料进货明细表$] 注意:在excel一个工作表的表示是这样的:[工作表名称$] select的意思是:查询 上面那一句SQL语句的意思就是:从表材料进货明细表取出定额名称及规格的值 例2、查询材料进货明细表的详细记录 SELECT * FROM [材料进货明细表$] 等价于: SELECT 序号, 定额名称,规格,日期,单位,数量 FROM [材料进货明细表$] 注意:*的用法 2、查询经过计算的值 例3、查询材料进货明细表的定额名称、规格、年份及数量 SELECT 定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 注意:里面的年份已经通过了计算的了,成为一个新的变量。 加多一列自定义的列A厂: SELECT “A厂” ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] SELECT “A厂” as 工厂 ,定额名称,规格,year(日期) as 年份,数量 FROM [材料进货明细表$] 比较一下上面两句SQL语句的区别,没有as 工厂与有as 工厂的区别 二、选择表若干元组 1、消除取重复的行 例4、查询材料进货明细表的定额名称 SELECT 定额名称 FROM [材料进货明细表$] 该查询结果会包含很多重复的行。消除重复行的话,必须指定关键词 distinct SELECT distinct 定额名称 FROM [材料进货明细表$] 2、查询满足条件的元组 例5、查询材料进货明细表单位为“套”的所有记录 SELECT * FROM [材料进货明细表$] where 单位= ‘套’ 本句语句,要学会where的用法: 要查询满足指定条件的元组,可以通过where子句实现。where子句查询条件是: 比较: =,>,<,>=,<=,!=,<>,!>,!<;not +上述比较运算符 确定范围: between and ,not between and 确定集合:in,not in 字符匹配:like,not like 空值:is null,is not null 多重条件:and,or,not 例6、查询材料进货明细表数量在50—100之间的所有记录 SELECT * FROM [材料进货明细表$] where 数量 between 50 and 100 如果是不在50-100之间的话,直接改成: SELECT * FROM [材料进货明细表$] where 数量 not between 50 and 100 例7、查询材料进货明细表单位为“只”或“支”的所有记录 SELECT * FROM [材料进货明细表$] where 单位 in(‘只’,'支’) 3、字符匹配 可以用like来实现,通配符%和_ a、%代表任意长度的字符串,如a%b表示以a开头,以b结尾的任意的字符串 b、_代表任意单个字符 例8、查询材料进货明细表定额名称以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津%’ 例9、查询材料进货明细表定额名称以“天津”开头且字符为4个的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 like ‘天津__’ 例10、查询材料进货明细表定额名称不以“天津”开头的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 not like ‘天津%’ 4、涉及空值的查询 主要是以:null出现 例11、查询材料进货明细表规格为空的的所有记录 SELECT * FROM [材料进货明细表$] where 规格 is null 5、多条件查询 例12、查询材料进货明细表定额名称为“天津三通”的并且数量大于30的所有记录 SELECT * FROM [材料进货明细表$] where 定额名称 = ‘天津三通’ and 数量>30 三、order by 子句 desc(降序)、asc(升序) 例13、查询材料进货明细表数量大于30的所有记录,并且要按照数量来降序排列。 SELECT * FROM [材料进货明细表$] where 数量>30 order by 数量 desc 四、聚集函数 count(distinct/all 列名):统计元组个数 sum:求和 avg:求平均值 max:最大值 min:最小值 例14、查询材料进货明细表天津大小头的最大数量。 SELECT max(数量) FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 或:SELECT max(数量) as 最大数量 FROM [材料进货明细表$] where 定额名称 = ‘天津大小头’ 2. Excel源数据及分析下载:Excel数据透视表教程:分类百分比 SQL语句: select *, Hz1.分类销量/Hz2.分类销量 as 分类百分比 from (select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司) Hz1, (select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司) Hz2 where hz1.分公司=Hz2.分公司 SQL语句解释: select 品种,分公司, sum(数量) as 分类销量 from [数据$] group by 品种,分公司 实现对品种、分公司两字段分组的统计求和 select 分公司, sum(数量) as 分类销量 from [数据$] group by 分公司 实现对分公司字段分组的统计求和 对分公司分组统计求和数是对品种、分公司两字段分组统计求和项目再对不同品种的总就和,也就是后者包含前者。 整句语句的意思就是,将两个查询结果作为新的查询表分别命名为Hz1、Hz2,用 ”where hz1.分公司=Hz2.分公司“来组合数据, 没有条件的制约的话,将统计的结果再进行除数运算, 各品种的分组统计数(分组含品种字段)除以各品种已求和了的分组统计数(分组不含品种字段)求得所比率, 最后在字段单元格设置为百分数就可以了。 3 在Excel使用MS Query查询外部数据库的内容的优点是:不用设置公式、编写VBA代码、源数据库不用打开。 但要注意:源数据库的记录要有字段名,由于设置查询时的路径固定,。 因此源数据库文件不能随意移动(如确实要移动可以通过手工修改查询或VBA解决) 以下示例采用MS Query在“查询”工作簿查询关闭的“销售”工作簿sheet1的指定 “店铺”和指定“颜色”的内容(sheet1有“店铺”、“数量”、“颜色”等字段名及若干数据)。 操作前请先确定是否安装有MS Query。附上举例文件,请解压到D盘根目录下: 销售.xls为源数据,查询.xls设置了msquery查询。 下载:MS Query查询未打开工作簿的内容例子 1、 新建一个工作表,选择菜单【数据】—【导入外部数据】—【新建数据库查询】, 界面如图,由于查询excel数据库的内容,因此选择【Excel Files*】并确定; 2、 弹出〖选择工作簿〗对话框,选择“销售”工作簿,〖确定〗; 3、 弹出〖选择列〗对话框,如果此时弹出“没用内容”,确定后在〖选项〗将“系统表”勾上。 将所选工作簿的各个工作表及工作表的字段名添加到查询结果,全选可直接将工作表名添加, 〖下一步〗〖下一步〗,选择“在MS query继续编辑查询”; 4、 弹出MS Query查询编辑,点击【显示/隐藏条件】图标,在“条件字段”添加“店铺”, 值改为“[店]”(方括号内容随意),再添加个条件为“颜色”,值改为“[色]”,点击【将数据返回Excel】 5、 回到excel的“导入数据”对话框,点击〖参数〗,选“店”字段,再选择“从下列单元格获取数据”, 选择一个用来更改查询关键字的单元格(如B1),并勾选“单元格值更改时自动刷新”, “色”字段改成从单元格“B2”获取,〖确定〗。数据放置位置选择“A3”。〖确定〗。 6、 当更改B1和B2单元格的内容(做个数据有效性)时,A3及以下的数据会即时刷新。 此法对于需要经常在局域网查询数据非常方便,比如:数据放在局域网内的一台主机上,通过MS Query即可不打开工作簿查询数据。
SQL查询相关技术,源码大放送! 10.1 SELECT子句 426   实例292 查询特定列数据 426   实例293 使用列别名 428   实例294 在列上加入计算 430 EX10_03   实例295 使用函数设置条件 431   10.2 查询常量 432   实例296 查询数字 433   实例297 查询字符串 434   实例298 查询日期数据 436   实例299 查询逻辑型数据 437   实例300 查询空数据 438   10.3 查询变量 440   实例301 利用变量查询字符串数据 440   实例302 利用变量查询数值型数据 441   实例303 利用变量查询日期型数据 442   10.4 模式查询 444   实例304 利用“_”通配符进行查询 444   实例305 利用“%”通配符进行查询 445   实例306 利用“[]”通配符进行查询 446   实例307 利用“[^]”通配符进行查询 448   实例308 复杂的模式查询 449   10.5 TOP和PERCENT限制查询结果 450   实例309 查询前10名数据 450   实例310 取出数据统计结果的前10名数据 451   实例311 查询销售量前50%的图书信息 453   实例312 查询库存数量后20%的图书信息 454   10.6 周期、日期查询 455   实例313 查询指定日期的数据 455   实例314 查询指定时间段的数据 457   实例315 按月查询数据 458   10.7 比较、逻辑、重复查询 460   实例316 查询数据大于指定条件的数据 460   实例317 NOT与谓词进行组合条件的查询 461   实例318 查询时不显示重复记录 463   实例319 列出数据的重复记录和记录条数 465   10.8 在查询使用OR和AND运算符 466   实例320 利用OR运算符进行查询 466   实例321 利用AND运算符进行查询 467   实例322 同时利用OR、AND运算符进行查询 469   10.9 排序、分组统计 471   实例323 数据分组统计(单列) 471   实例324 在分组查询使用ALL关键字 473   实例325 在分组查询使用CUBE运算符 475   实例326 在分组查询使用ROLLUP 477   实例327 对数据进行降序查询 479   实例328 对数据进行多条件排序 480   实例329 对统计结果进行排序 482   实例330 按仓库分组统计图书库存(多列) 483   实例331 多表分组统计 484   实例332 使用COMPUTE 485   实例333 使用COMPUTE BY 487   10.10 聚合函数 488   实例334 利用聚合函数SUM对销售额进行汇总 488   实例335 利用聚合函数AVG求某班学生的平均年龄 490   实例336 利用聚合函数MIN求销售额、利润最少的商品 492   实例337 利用聚合函数MAX求月销售额完成最多的员工 493   实例338 利用聚合函数COUNT求日销售额大于某值的商品数 495   实例339 利用聚合函数First或Last求数据表第一条或最后一条记录 496   10.11 多表查询(连接查询) 498   实例340 利用FROM子句进行多表查询 498   实例341 使用表别名 499   实例342 合并多个结果集 501   10.12 嵌套查询 503   实例343 简单嵌套查询 503   实例344 复杂嵌套查询 504   实例345 嵌套查询在查询统计的应用 506   10.13 子查询 508   实例346 用子查询做派生的表 508   实例347 用子查询作表达式 510   实例348 在Update语句应用子查询 511   10.14 联合语句Union 512   实例349 使用联合查询 512   实例350 多表联合查询 514   实例351 对联合查询后的结果进行排序 515   10.15 内联接查询 517   实例352 简单内联接查询 517   实例353 复杂内联接查询 518   实例354 使用内联接选择一个表与另一个行相关的所有行 519   10.16 外联接查询 520   实例355 left outer join查询 521   实例356 right outer join查询 522   实例357 使用外联接进行多表联合查询 523   10.17 利用IN进行查询 525   实例358 用IN查询表的记录信息 525   实例359 使用IN引入子查询限定查询范围 526   10.18 交叉表查询 527   实例360 利用Trasform分析数据 527   实例361 利用Trasform动态分析数据 529   实例362 静态交叉表(SQLServer 2000) 531   实例363 动态交叉表(SQLServer 2000) 533   10.19 函数查询 535   实例364 在查询语句使用格式化函数 536   实例365 在查询语句使用字符串函数 537   实例366 在查询使用日期函数 538   10.20 having语句应用 540   实例367 利用having语句过滤分组数据 540   实例368 having语句应用在多表查询 541   10.21 视图的应用 543   实例369 在C#应用视图 543   实例370 获取数据库的全部用户视图 544   实例371 通过视图修改数据 545   10.22 存储过程的应用 546   实例372 C#应用存储过程 546   实例373 应用存储过程添加数据 547   实例374 应用存储过程修改数据 549   实例375 应用存储过程删除数据 550   实例376 C#应用查询存储过程 551   实例377 获取数据库全部的存储过程 552   实例378 加密存储过程 553   10.23 触发器的应用 555   实例379 Insert触发器的应用 555   实例380 Update触发器在系统日志的应用 556   实例381 触发器的嵌套使用 557   实例382 获取数据库的触发器 559

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值