有关select group byy报错,not a ...

以下试题来自:
单项选择题下面有关HAVING子句描述错误的是
A) HAVING子句必须与GROUP BY子句同时使用,不能单独使用
B) 使用HAVING子句的同时不能使用WHERE子句
C) 使用HAVING子句的同时可以使用WHERE子句
D) 使用HAVING子句的作用是限定分组的条件
为您推荐的考试题库
你可能感兴趣的试题
1A) 向数据环境添加表和视图B) 向数据环境中添加控件C) 从数据环境移去表或视图D) 在数据环境中编辑关系2A) 数据软件 B) 操作系统C) 数据库管理系统 D) 编译程序3A) PAD B) PFD C) N-S D) DFD4A) PAD B) PFD C) N-S D) DFD5A) 一对一 B) 一对多C) 多对一 D) 多对多
热门相关试卷
最新相关试卷10:36 提问
ORACLE SQL 无聚合函数 和 有聚合函数 左外连 报不是 GROUP BY 表达式的错误
t11.tokuisaki_cd AS tokuisakiCd-- A.得意先
, '1' AS jizenShikyuuHandan -- '1'(事前) AS 事前支給判断
, t11.jizen_shinsei_taishou_fg AS jizenShinseiTaishouFg -- A.事前申請対象フラグ
, t11.jigo_shinsei_taishou_fg AS jigoShinseiTaishouFg -- A.事後申請対象フラグ
, '事前' AS shinsei -- '事前' AS 申請
, t11.kaigo_seikyuu_dv AS kaigoSeikyuuDv -- A.介護請求区分
, t11.uriku_cd AS urikuCd
-- A.売区コード
m_yakusho_shinsei t11 -- 役所申請 A
t11.jizen_shinsei_taishou_fg = '1' -- WHERE A.事前申請対象フラグ = '1'(事前申請対象)
AND t11.uriku_cd = 'HB02' -- AND A.売上区分 = 'HB02'(特定福祉)
AND t11.delete_fg = '0' -- AND A.削除フラグ = '0'(通常)
AND t11.kaigo_seikyuu_dv IN ('SHO', 'INI', 'SHH') -- AND A.介護請求区分 IN ('SHO'(償還),'INI'(受領委任),'SHH'(生保(国保90/公費10))
t11.tokuisaki_cd AS tokuisakiCd -- A.得意先
, '0' AS jizenShikyuuHandan -- '0'(支給) AS 事前支給判断
, t11.jizen_shinsei_taishou_fg AS jizenShinseiTaishouFg -- A.事前申請対象フラグ
, t11.jigo_shinsei_taishou_fg AS jigoShinseiTaishouFg -- A.事後申請対象フラグ
, '支給' AS shinsei -- '支給' AS 申請
, t11.kaigo_seikyuu_dv AS kaigoSeikyuuDv -- A.介護請求区分
, t11.uriku_cd AS urikuCd-- A.売区コード
m_yakusho_shinsei t11 -- 役所申請 A
t11.jigo_shinsei_taishou_fg = '1' -- WHERE A.事後申請対象フラグ = '1'(事後申請対象)
AND t11.uriku_cd = 'HB02' -- AND A.売上区分 = 'HB02'(特定福祉)
AND t11.delete_fg = '0' -- AND A.削除フラグ = '0'(通常)
AND t11.kaigo_seikyuu_dv IN ('SHO', 'INI', 'SHH') -- AND A.介護請求区分 IN ('SHO'(償還),'INI'(受領委任),'SHH'(生保(国保90/公費10))
) t1 -- 役所申請情報サブクエリ A
INNER JOIN
t22.moto_uriage_denpyou_no AS denpyouNo -- B.元売上伝票番号 AS 伝票番号
, t21.seikyuu_tokuisaki_cd AS tokuisakiCd -- A.請求得意先コード AS 得意先コード
, t22.kokyaku_cd AS kokyakuCd -- B.顧客コード
, t21.konkai_seikyuu_ac AS seikyuuAc -- A.今回請求額 AS 請求額
, TO_CHAR(t22.uriage_dt, 'yyyy/MM/dd') AS uriageDt -- B.売上日
, '1' AS uriage -- '1' AS 売上
, t21.tantousha_cd AS tantoushaCd -- A.担当者コード
, t25.naibusashizu_tx AS naibusashizuTx -- E.内部指図
, t23.juchuu_no AS juchuuNo -- C.受注番号 AS 受注番号
, t22.uriage_denpyou_no AS uriageDenpyouNo -- A.売上伝票番号
, TO_CHAR(t21.shuturyokuzumi_fg) AS shuturyokuzumiFg -- A.出力済フラグ
, t25.jichitai_futan_rt AS jichitaiFutanRt -- E.自治体負担率
, t21.busho_cd AS uriageBushoCd -- A.部署コード AS 売上部署コード
, t21.seikyuusho_no AS seikyuushoNo -- A.請求書番号
, t28.uriageShuseiFg AS uriageShuseiFg -- H.売上修正フラグ
, t21.version_no AS versionNo -- バージョン番号
t_tokuisaki_seikyuu t21 -- 得意先請求 A
INNER JOIN (
t281.seikyuusho_no --
t281.請求書番号
, MAX(t281.uriage_denpyou_no) AS uriageDenpyouNo -- MAX(t281.売上伝票番号) AS 売上伝票番号
, CASE WHEN COUNT(t281.uriage_denpyou_no) &= 2 -- CASE WHEN COUNT(t281.売上伝票番号) &= 2
THEN '1' -- THEN '1'
-- ELSE '0'
END AS uriageShuseiFg -- END AS 売上修正フラグ
t_tokuisaki_seikyuu_uriage t281
t281.delete_fg = '0'
t281.seikyuusho_no
) t28 -- INNER JOIN 得意先請求売上サブクエリ H
ON t21.seikyuusho_no = t28.seikyuusho_no -- ON A.請求書番号 = H.請求書番号
INNER JOIN
t_tokuisaki_seikyuu_uriage t22 -- INNER JOIN 得意先請求売上 B
t28.uriageDenpyouNo = t22.uriage_denpyou_no -- ON H.売上伝票番号 = B.売上伝票番号
t22.delete_fg = '0' -- AND B.削除フラグ = '0'(通常)
INNER JOIN
t_uriage t23 -- INNER JOIN 売上 C
t22.uriage_denpyou_no = t23.uriage_denpyou_no -- ON B.売上伝票番号 = C.売上伝票番号
t23.delete_fg = '0' -- AND C.削除フラグ = '0'(通常)
INNER JOIN
t_juchuu_shukka t25 -- INNER JOIN 受注出荷 E
t23.juchuu_no = t25.juchuu_no -- ON C.受注番号 = E.受注番号
t25.delete_fg = '0' -- AND E.削除フラグ = '0'(通常)
t21.juchuu_no AS denpyouNo -- A.受注番号 AS 伝票番号
, t21.tokuisaki_cd AS tokuisakiCd -- A.得意先
, t21.kokyaku_cd AS kokyakuCd -- A.顧客コード
, t21.kouhi_tougetu_rental_ac + t21.jikofutan_tougetu_rental_ac + t21.jichitai_tougetu_rental_ac AS seikyuuAc -- A.公費当月レンタル料 + A.自己負担当月レンタル料 + A.自治体当月レンタル料 AS 請求額
, TO_CHAR(t22.katudou_yotei_dt, 'yyyy/MM/dd') AS uriageDt -- B.活動予定日 AS 売上日
, '0' AS uriage -- '0' AS 売上
, t21.uriage_tantousha_cd AS tantoushaCd -- A.売上担当者コード AS 担当者コード
, t21.naibusashizu_tx AS naibusashizuTx -- A.内部指図
, t21.juchuu_no AS juchuuNo -- C.受注番号 AS 受注番号
, '' AS uriageDenpyouNo -- '' AS 売上伝票番号
, '' AS shuturyokuzumiFg -- '' AS 出力済フラグ
, t21.jichitai_futan_rt AS jichitaiFutanRt -- A.自治体負担率
, t21.uriage_busho_cd AS uriageBushoCd -- A.売上部署コード
, NULL AS seikyuushoNo
, '0' AS uriageShuseiFg -- H.売上修正フラグ
, NULL AS versionNo -- バージョン番号
t_juchuu_shukka t21 -- 受注出荷 A
LEFT OUTER JOIN
t_haisou_haibun t22 -- LEFT OUTER JOIN 配送配分 B
t21.juchuu_no = t22.haisou_katudou_denpyou_no -- ON A.受注番号 = B.伝票番号
t22.haisha_gyoumu_dv = '001' -- AND B.配車業務区分 = '001'(受注)
t22.delete_fg = '0' -- AND B.削除フラグ = '0'(通常)
SUBSTR(t21.uriage_dv_cd,1 , 4)
= 'HB02' -- WHERE SUBSTR(A.売上区分コード,1,4) = 'HB02'(特定福祉)
AND t21.uriage_keijouzumi_fg = '1' -- AND A.売上計上済フラグ = '1'(計上済)
AND t21.delete_fg = '0' -- AND A.削除フラグ = '0'(通常)
AND NOT EXISTS (
t_uriage t23 -- 売上 C
INNER JOIN
t_tokuisaki_seikyuu_uriage t24 -- 得意先請求売上 D
t23.uriage_denpyou_no = t24.uriage_denpyou_no
t21.juchuu_no = t23.juchuu_no
AND t23.delete_fg = '0'
) t2 -- INNER JOIN 売上情報サブクエリ B
t1.tokuisakiCd = t2.tokuisakiCd -- ON A.得意先 = B.得意先
(t1.kaigoSeikyuuDv = 'SHO' AND t2.jichitaiFutanRt = 0) -- (A.介護請求区分 = 'SHO'(償還) AND B.自治体負担率 = 0)
(t1.kaigoSeikyuuDv IN ('INI','SHH') AND t2.jichitaiFutanRt && 0)-- (A.介護請求区分 IN ('INI','SHH') AND B.自治体負担率 && 0)
LEFT OUTER JOIN
t53.moto_uriage_denpyou_no --
, C.元売上伝票番号
, t53.juchuu_no -- , C.受注番号
, MAX(t51.seikyuusho_insatu_no) AS seikyuushoInsatuNo -- , MAX(請求書印刷番号) AS 請求書印刷番号
, MAX(t52.uriage_denpyou_no) AS uriageDenpyouNo -- , MAX(売上伝票番号) AS 売上伝票番号
, t54.chouhyou_template_dv -- , D.帳票テンプレート区分
t_hokenja_shinseisho t51 -- 保険者申請書 A
LEFT OUTER JOIN
t_tokuisaki_seikyuu_uriage t52 -- 得意先請求売上 B
t51.seikyuusho_insatu_no = t52.seikyuusho_no -- A.請求書番号 = B.請求書番号
QA....... A.請求書番号が保険者申請書 A中でないです。ご確認してお願いします。
t52.delete_fg = '0' -- B.削除フラグ = '0'(通常)
LEFT OUTER JOIN
t_uriage t53 -- 売上 C
t52.uriage_denpyou_no = t53.uriage_denpyou_no -- B.売上伝票番号 = C.売上伝票番号
t53.delete_fg = '0' -- C.削除フラグ = '0'(通常)
LEFT OUTER JOIN
t541.file_id -- A.ファイルID
, t541.chouhyou_template_dv -- , A.テンプレート区分
m_tokuisaki_template t541 -- 得意先別帳票テンプレート(A)
t541.delete_fg = '0' -- A.削除フラグ = '0'
t541.file_id -- A.ファイルID
, t541.chouhyou_template_dv -- , A.テンプレート区分
m_busho_template t541 --
部署別帳票テンプレート(A)
t541.delete_fg = '0' --
A.削除フラグ = '0
) t54 -- 帳票テンプレートサブクエリ D
t51.seikyuusho_template_file_id = t54.file_id
-- A.請求書テンプレートID = D.ファイルID
t51.delete_fg = '0' -- A.削除フラグ = '0'(通常)
t53.moto_uriage_denpyou_no -- C.元売上伝票番号
,t53.juchuu_no --
,C.受注番号
,t54.chouhyou_template_dv -- ,D.帳票テンプレート区分
) t5 -- 直近申請サブクエリ E
t2.juchuuNo = t5.juchuu_no -- B.受注番号 = E.受注番号
t2.denpyouNo = t5.uriageDenpyouNo--B.伝票番号 = E.売上伝票番号
(t1.jizenShikyuuHandan = '1' AND t5.chouhyou_template_dv = 'TJS') OR (t1.jizenShikyuuHandan = '0' AND t5.chouhyou_template_dv = 'TSS')
按赞数排序
max字段不是group by的字段。后面你用到的max的子句中还有类似情况。
t281.seikyuusho_no -- t281.請求書番号
, MAX(t281.uriage_denpyou_no) AS uriageDenpyouNo -- MAX(t281.売上伝票番号) AS 売上伝票番号
, CASE WHEN COUNT(t281.uriage_denpyou_no) &= 2 -- CASE WHEN COUNT(t281.売上伝票番号) &= 2
THEN '1' -- THEN '1'
ELSE '0' -- ELSE '0'
END AS uriageShuseiFg -- END AS 売上修正フラグ
t_tokuisaki_seikyuu_uriage t281
t281.delete_fg = '0'
t281.seikyuusho_no
2822关注|623收录
2101关注|261收录
2363关注|1143收录
其他相似问题<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&SQL的GROUP 聚合问题 提示:ORA-00979:not a GROUP BY expression
[问题点数:50分,结帖人baso1623]
SQL的GROUP 聚合问题 提示:ORA-00979:not a GROUP BY expression
[问题点数:50分,结帖人baso1623]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。group by 用法 SQL中GROUP BY的用法_牛宝宝文章网
group by 用法 SQL中GROUP BY的用法
SQL中GROUP BY的用法及常用聚合函数 问:select item.itemnum,item.in1,item.in4,inventory.location from item,inventory where item.itemnum=inventory.itemnum andinventory.location=&#39;DYB&#39; and item.in1=&#39;D/MTD/MRM&#39; GROUP BY ITEM.ITEMNUM 提示错误是NOT A GROUP BY EXPRESSION那位高人能指点一下是我是那里出错了,还有GROUP BY的用法谢谢了哈!答:GROUP BY 是分组查询, 一般 GROUP BY是和 聚合函数配合使用,你可以想想,你用了GROUP BY 按 ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示A
asdfgselect A,B from table group by A你说这样查出来是什么结果,A
Babcbcdsdfg右边3条如何变成一条,所以需要用到聚合函数,比如select A,count(B) 数量 from table group by A这样的结果就是A 数量3group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面。(wWw.NIuBB.neT]常用的聚合函数AVGAVG聚合函数计算一个组中非NULL值的平均值COUNTCOUNT聚合函数返回一个显示组中行数的整数值COUNT_BIG和COUNT功能一样,只是COUNT_BIG返回bigint数据类型值MAXMAX聚合函数返回一组非NULL值中的最大值MINgroup by 用法 SQL中GROUP BY的用法MIN聚合函数返回一组非NULL值中的最小值SUMSUM聚合函数返回一个表达式中所有非NULL值的总和STDEVSTDEV函数根据数据母体的样本返回由表达式提供的所有值的标准差STDEVPSTDEVP函数也返回由表达式提供的所有值的标准差,只是它计算整个数据母体VARVAR函数根据数据母体的样本返回由表达式提供的值的方差VARPVARP函数也返回表达式整个数据母体提供的值的方差聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下:1. AVG 返回指定组中的平均值,空值被忽略。(WWW.niuBb.neT)例:select prd_no,avg(qty) from sales group by prd_no2. COUNT 返回指定组中项目的数量。例:select count(prd_no) from sales3. MAX 返回指定数据的最大值。例:select prd_no,max(qty) from sales group by prd_no4. MIN 返回指定数据的最小值。例:select prd_no,min(qty) from sales group by prd_no5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。例:select prd_no,sum(qty) from sales group by prd_no6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。例:select count_big(prd_no) from sales7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1,当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollupgroup by 用法 SQL中GROUP BY的用法8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。(WwW.NIUbb.net)例:select prd_no,binary_checksum(qty) from sales group by prd_no9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no10. CHECKSUM 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。11. STDEV 返回给定表达式中所有值的统计标准偏差。例:select stdev(prd_no) from sales12. STDEVP 返回给定表达式中的所有值的填充统计标准偏差。例:select stdevp(prd_no) from sales13. VAR 返回给定表达式中所有值的统计方差。例:select var(prd_no) from sales14. VARP 返回给定表达式中所有值的填充的统计方差。例:select varp(prd_no) from salesSQLSERVER中union,cube,rollup,cumpute运算符使用说明UNION 运算符是将两个或更多查询的结果组合为单个结果集
使用 UNION 组合查询的结果集有两个最基本的规则:1.所有查询中的列数和列的顺序必须相同。2.数据类型必须兼容a.UNION的结果集列名与第一个select语句中的结果集中的列名相同,其他select语句的结果集列名被忽略b.默认情况下,UNION 运算符是从结果集中删除重复行。如果使用all关键字,那么结果集将包含所有行并且不删除重复行c.sql是从左到右对包含UNION 运算符的语句进行取值,使用括号可以改变求值顺序例如:select * from tableaunion allgroup by 用法 SQL中GROUP BY的用法(select * from tablebunion allselect * from tablec)这样就可以先对tableb和tablec合并,再合并tablead.如果要将合并后的结果集保存到一个新数据表中,那么into语句必须加入到第一条select中e.只可以在最后一条select语句中使用 order by 和 compute 子句,这样影响到最终合并结果的排序和计数汇总f.group by 和 having 子句可以在单独一个select查询中使用,它们不影响最终结果CUBE 汇总数据CUBE 运算符生成的结果集是多维数据集。[WwW.NiUBb.Net]多维数据集是事实数据的扩展,事实数据即记录个别事件的数据。扩展建立在用户打算分析的列上。这些列被称为维。多维数据集是一个结果集,其中包含了各维度的所有可能组合的交叉表格。CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定。该语句的选择列表应包含维度列和聚合函数表达式。扩展: /
本文地址:

我要回帖

更多关于 select group by 的文章

 

随机推荐