前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL聚合函数 COUNT

SQL聚合函数 COUNT

作者头像
用户7741497
发布于 2022-03-27 04:10:06
发布于 2022-03-27 04:10:06
3.8K00
代码可运行
举报
文章被收录于专栏:hml_知识记录hml_知识记录
运行总次数:0
代码可运行

SQL聚合函数 COUNT

返回表或指定列中的行数的聚合函数。

大纲

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
COUNT(*)

COUNT([ALL | DISTINCT [BY(col-list)]] expression [%FOREACH(col-list)] [%AFTERHAVING])

参数

  • * - 指定应计算所有行以返回指定表中的总行数。 COUNT(*)不接受其他参数,不能与ALLDISTINCT关键字一起使用。 COUNT(*)不接受表达式参数,也不使用任何特定列的信息。 COUNT(*)返回指定表或视图中的行数,但不消除重复项。 它分别计数每一行,包括包含NULL值的行。
  • ALL - 可选-指定COUNT返回表达式中所有值的计数。 如果没有指定关键字,这是默认值。
  • DISTINCT - 可选-一个DISTINCT子句,指定COUNT返回表达式的不同(唯一)值的计数。 不能与流字段一起使用。 DISTINCT可以指定BY(colo -list)子句,其中colo -list可以是单个列名,也可以是用逗号分隔的列名列表。
  • expression - 任何有效的表达式。 通常是包含要计算的数据值的列的名称。
  • %FOREACH(col-list) - 可选-列名或以逗号分隔的列名列表。
  • %AFTERHAVING - 可选-应用在HAVING子句中的条件。

COUNT返回BIGINT数据类型。

描述

COUNT聚合函数有两种形式:

  • COUNT(expression)以整数形式返回表达式中值的数目的计数。 通常,表达式是查询返回的多行中字段的名称(或包含一个或多个字段名称的表达式)。 COUNT(表达式)不计算NULL值。 它可以选择计数或不计数重复的字段值。 COUNT总是返回数据类型BIGINT, xDBC长度为8,精度为19,刻度为0
  • COUNT(*)以整数形式返回表中行数的计数。 COUNT(*)计数所有行,无论是否存在重复的字段值或NULL值。

COUNT可以在引用表或视图的SELECT查询或子查询中使用。 COUNT可以在SELECT列表或HAVING子句中与普通字段值一起出现。

COUNT不能用于WHERE子句。 COUNT不能在JOINON子句中使用,除非SELECT是子查询。

与所有聚合函数一样,COUNT(expression)可以接受一个可选的DISTINCT子句。 DISTINCT子句只计算那些具有不同(唯一)值的列。 什么是一个不同的值取决于字段的排序; 当字段具有默认的排序规则%SQLUPPER时,字母大小写不同的值将不作为不同的值计算。 要将每个字母大小写变量作为一个不同的值进行计数,请使用count (distinct (%EXACT(field)))COUNT DISTINCT不将NULL视为一个不同的值。 COUNT(DISTINCT BY(col2) col1)计数不同的col2值的col1值; 但是,不同的col2值可以包含一个NULL作为不同的值。

ALL关键字统计所有非null值,包括所有重复值。 如果没有指定关键字,ALL是默认行为。

没有行返回

如果没有选择行,COUNT返回0NULL,这取决于查询:

  • 如果除了提供给聚合函数的字段之外,选择列表不包含对FROM子句表中的字段的任何引用,那么COUNT返回0。 只有COUNT聚合函数返回0; 其他聚合函数返回NULL。 该查询返回%ROWCOUNT1。 如下示例所示:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ClassMethod Count()
{
    s myquery = 3
    s myquery(1) = "SELECT COUNT(*) AS Recs,COUNT(Name) AS People,"
    s myquery(2) = "AVG(Age) AS AvgAge,MAX(Age) AS MaxAge,CURRENT_TIMESTAMP AS Now"
    s myquery(3) = " FROM Sample.Employee WHERE Name %STARTSWITH 'ZZZ'"
    s tStatement = ##class(%SQL.Statement).%New()
    s qStatus = tStatement.%Prepare(.myquery)
    if qStatus'=1 {
        w "%Prepare failed:" 
        d $System.Status.DisplayError(qStatus) 
        q
    }
    s rset = tStatement.%Execute()
    d rset.%Display()
    w !,"Rowcount:",rset.%ROWCOUNT
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DHC-APP> d ##class(PHA.TEST.SQLCommand).Count()
Recs    People  AvgAge  MaxAge  Now
0       0                       2021-12-20 20:58:17
 
1 Rows(s) Affected
Rowcount:1
  • 如果select-list包含对FROM子句表中某个字段的任何直接引用,或者如果指定了TOP 0,那么COUNT返回NULL。 该查询返回%ROWCOUNT0。 以下示例不返回COUNT值,因为%ROWCOUNT值为0:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ClassMethod Count1()
{
    s myquery = 2
    s myquery(1) = "SELECT COUNT(*) AS Recs,COUNT(Name) AS People,$LENGTH(Name) AS NameLen"
    s myquery(2) = " FROM Sample.Employee WHERE Name %STARTSWITH 'ZZZ'"
    s tStatement = ##class(%SQL.Statement).%New()
    s qStatus = tStatement.%Prepare(.myquery)
    if qStatus'=1 {
        w "%Prepare failed:" 
        d $System.Status.DisplayError(qStatus) 
        q
    }
    s rset = tStatement.%Execute()
    d rset.%Display()
    w !,"Rowcount:",rset.%ROWCOUNT
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DHC-APP> d ##class(PHA.TEST.SQLCommand).Count1()
Recs    People  NameLen
 
0 Rows(s) Affected
Rowcount:0
  • 如果没有指定表,COUNT(*)返回1。 该查询返回%ROWCOUNT为1。 如下示例所示:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ClassMethod Count2()
{
    s myquery = "SELECT COUNT(*) AS Recs"
    s tStatement = ##class(%SQL.Statement).%New()
    s qStatus = tStatement.%Prepare(myquery)
    if qStatus'=1 {
        w "%Prepare failed:" 
        d $System.Status.DisplayError(qStatus) 
        q
    }
    s rset = tStatement.%Execute()
    d rset.%Display()
    w !,"Rowcount:",rset.%ROWCOUNT
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DHC-APP> d ##class(PHA.TEST.SQLCommand).Count2()
Recs
1
 
1 Rows(s) Affected
Rowcount:1

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
围棋被攻克之后,多人在线战术竞技游戏(MOBA)已经成为测试检验前沿人工智能的动作决策和预测能力的重要平台。基于腾讯天美工作室开发的热门 MOBA 类手游《王者荣耀》,腾讯 AI Lab 正努力探索强化学习技术在复杂环境中的应用潜力。本文即是其中的一项成果,研究用深度强化学习来为智能体预测游戏动作的方法,该论文已被 AAAI-2020 接收。
机器之心
2019/12/25
1.4K0
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
让AI学会打王者,有什么用?
作为目前全球最负盛名的人工智能盛会之一,NeurIPS在每年年末都是计算机科学领域瞩目的焦点。被NeurIPS接收的论文,代表着当今神经科学和人工智能研究的最高水平,也反映着行业趋势的变化。
新智元
2023/01/08
4780
让AI学会打王者,有什么用?
马化腾的2万不好赚!绝悟AI稳如猛虎,人类王者被虐成狗
下一分钟,绝悟又在下路纠集4打2拿到2人头,一下就把差距拉到4:0,还拆了一个塔。
量子位
2021/07/19
4780
腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队
12月30日,腾讯宣布其人工智能球队摘得首届谷歌足球Kaggle竞赛冠军。该冠军球队来自腾讯AI Lab研发的绝悟WeKick版本,凭借1785.8的总分在与全球顶级技术团队的竞技中以显著优势胜出。
AI科技大本营
2021/01/21
1.2K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
Google Research 与英超曼城俱乐部在 Kaggle 平台上联合举办的 11v11 足球 AI 竞赛 Google Football 近日宣布最终结果:腾讯 AI Lab 绝悟 WeKick 版本(下称绝悟)以 1785.8 的分数获得冠军,且相比于其它队伍优势非常明显。
CV君
2021/01/05
1.1K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
论文 1:Mastering Complex Control in MOBA Games with Deep Reinforcement Learning
机器之心
2019/12/31
2.6K0
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
我和AI打了六局王者荣耀,心态崩了
PVP对战手游王者荣耀在五一节期间上线了一种新玩法——挑战 · 绝悟,也就是5人组队和5个AI对战。
量子位
2020/05/19
4890
我和AI打了六局王者荣耀,心态崩了
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
腾讯 AI Lab 开发的 AI 智能体「绝悟」已让王者峡谷不再只是人类召唤师的竞技场,而且这个 AI 战队在上月底进化成了「完全体」。在一局完整的比赛中,英雄选择阶段是至关重要的(比如五射手或五法师阵容会有官方劝退)。
磐创AI
2021/01/12
8360
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队
据机器之心了解,这是腾讯 AI Lab 与王者荣耀共同探索的研究项目——策略协作型 AI「绝悟」首次露面,并于昨天在KPL秋季决赛接受前职业 KPL 选手辰鬼、零度和职业解说白乐、九天和立人组成的人类战队(平均水平超过 99% 玩家)的水平测试。最终 AI 战队获得胜利。这是继围棋 AI「绝艺」后,腾讯 AI 在深度学习与强化学习领域的又一项前沿研究。
机器之心
2019/01/02
1.6K0
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
一场激烈的对战正在进行,左侧是五位人类职业电竞高手组成的赛区联队,另一方是……嗯?他们的对手没有出场?五个座椅空空荡荡?
量子位
2019/08/05
5900
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
AI算法龙虎榜 | 190804更新
No.1 策略协作型AI:绝悟,王者荣耀5V5战胜职业选手,504场1V1顶级业余玩家胜率99.8%
用户7623498
2020/08/04
6630
王者荣耀:在绝悟上进行监督学习
《Supervised learning achieves human-level performance in MOBA games: A case study of honor of kings》
算法一只狗
2022/11/04
9970
清华等世界12所顶尖高校学霸组团「打王者」,竟是为了搞科研?
---- 新智元报道   编辑:好困 桃子 【新智元导读】见过学霸打王者的样子吗?这不,清华、中科大、耶鲁等世界12所顶尖高校学霸集结,一来打王者,二来搞科研。 之前凑在一起「打王者」的学霸又来了! 成都大运会开幕在即,「世界大学生数智竞技邀请赛」正式启动。 国际级规模的大赛共邀请了12支队伍(包含中国大陆地区4所高校、中国港澳台地区及海外8所高校)参加。 每支队伍都需要训练三位英雄,并在之后让自己的AI进行「3V3」的对战,而获得冠军的团队可获得高达20万的奖金。 在此前的1V1中,各大高校的AI
新智元
2022/03/21
4960
腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊
感谢阅读腾讯AI Lab微信号第112篇文章。本文将介绍绝悟 AI 完全体升级版本的技术方法,也欢迎读者到王者荣耀 app 亲身体验其技术实力。 腾讯 AI Lab 宣布与王者荣耀联合研发的策略协作型 AI“绝悟”推出升级版本。 创新算法突破了可用英雄限制(英雄池数量从40增为100+),让 AI 完全掌握所有英雄的所有技能,能应对高达10的15次方的英雄组合数变化; 优化了禁选英雄(BanPick,简称BP)博弈策略,能综合自身技能与对手情况等多重因素派出最优英雄组合。 相关研究已被 AI 顶级会议 N
腾讯技术工程官方号
2020/12/01
1.5K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
「绝悟」是腾讯 AI Lab 与王者荣耀团队共同探索的前沿研究项目,在王者荣耀世界冠军杯半决赛的特设环节中,这一人工智能在职业选手赛区联队带来的 5v5 水平测试中获胜,首次在王者荣耀游戏中击败了现役职业玩家。
机器之心
2019/08/05
2.1K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
腾讯AI制霸王者荣耀,世界杯5V5 「绝悟」绝杀职业玩家,1天训练强度超人类440年
昨日,腾讯AI Lab研发的智能体「绝悟」在王者荣耀世界冠军杯半决赛特设环节,与职业选手职业选手赛区联队的5v5对决中获胜!
代码医生工作室
2019/08/06
8010
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
木易 发自 凹非寺  量子位 报道 | 公众号 QbitAI 腾讯AI Lab与王者荣耀联合研发的策略协作型 AI「绝悟」,全英雄池解禁,升级成「完全体」了。 11月28日到30日,将限时开放三天公众体验。 这次的升级,带来了新算法,除了突破了可用英雄限制,还优化了禁选英雄博弈策略。 而与此次升级相关的研究,也在近期被NeurIPS 2020和TNNLS分别收录。 在这两篇研究中,分别介绍了「绝悟」进行强化训练和监督训练具体细节。 那么,「完全体绝悟」是如何训练出来的呢? 就让我们顺着这次的论文,好好来了
量子位
2023/03/10
3420
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
用人工智能打王者荣耀:匹茨堡大学&腾讯AI Lab为游戏AI引入MCTS方法
选自arXiv 作者:Daniel R. Jiang、Emmanuel Ekwedike、Han Liu 机器之心编译 参与:路、李泽南 如果让人工智能来打王者荣耀,应该选择什么样的英雄?近日,匹茨堡大学和腾讯 AI Lab 提交的论文给了我们答案:狄仁杰。在该研究中,人们尝试了 AlphaGo Zero 中出现的蒙特卡洛树搜索(MCTS)等技术,并取得了不错的效果。 对于研究者而言,游戏是完美的 AI 训练环境,教会人工智能打各种电子游戏一直是很多人努力的目标。在开发 AlphaGo 并在围棋上战胜人类顶
机器之心
2018/06/08
7540
第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?
一场发生在王者峡谷的赛事,背后竟然惊动了清华、北大、中科大、电子科技大学……等20多所名校的学生和老师? 这不是一场简单的电竞赛事,而是一场AI领域的科研赛事——由腾讯AI Lab、王者荣耀、腾讯高校合作、腾讯游戏学院等联合举办,由腾讯云计算提供底层资源支持的第二届腾讯“开悟”多智能体强化学习大赛(简称开悟大赛)。 不同于常规电竞比赛,选手们并不是亲手操作英雄去战斗,他们的定位更类似于教练,通过编写的程序利用AI进行对抗。赛事基于“开悟”AI开放研究平台举行,依托于腾讯太极机器学习平台,选手可获取“开悟
腾讯高校合作
2021/11/12
7850
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
近年来,基于强化学习的计算工具在包括图像分类和机器人对象操作在内的众多任务中取得了显著成果。与此同时,计算机科学家也一直在训练强化学习模型来玩特定的人类游戏和电子游戏。
机器之心
2021/12/13
6560
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
推荐阅读
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
1.4K0
让AI学会打王者,有什么用?
4780
马化腾的2万不好赚!绝悟AI稳如猛虎,人类王者被虐成狗
4780
腾讯AI足球队夺冠Kaggle竞赛,绝悟强化学习方案迁移至足球队
1.2K0
腾讯AI Lab绝悟团队夺冠Kaggle足球AI竞赛
1.1K0
7 Papers | 腾讯王者荣耀绝悟AI;ICLR高分论文Reformer
2.6K0
我和AI打了六局王者荣耀,心态崩了
4890
王者荣耀AI绝悟如何选英雄?腾讯AI Lab新研究揭秘
8360
腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队
1.6K0
腾讯AI击败王者荣耀职业队,全靠自学、策略清奇,一天训练量为人类440年
5900
AI算法龙虎榜 | 190804更新
6630
王者荣耀:在绝悟上进行监督学习
9970
清华等世界12所顶尖高校学霸组团「打王者」,竟是为了搞科研?
4960
腾讯绝悟AI完全体限时开放体验,研究登上国际顶会与顶刊
1.5K0
腾讯 AI「绝悟」KPL 击败职业玩家联队,晋升王者荣耀电竞职业水平
2.1K0
腾讯AI制霸王者荣耀,世界杯5V5 「绝悟」绝杀职业玩家,1天训练强度超人类440年
8010
王者荣耀「绝悟」完全体上线:解禁全英雄,在线约你来战
3420
用人工智能打王者荣耀:匹茨堡大学&腾讯AI Lab为游戏AI引入MCTS方法
7540
第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?
7850
在《我的世界》当矿工,腾讯「绝悟」夺冠NeurIPS MineRL 挑战赛
6560
相关推荐
不服SOLO:腾讯绝悟AI击败王者荣耀顶尖职业玩家,论文入选AAAI,未来将开源
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档