标签: aggregate-functions

ORA-06502:PL/SQL:数字或值错误:使用Oracle聚合函数时字符串缓冲区太小

美好的一天大师,

我有一个脚本定期填充表崩溃并给出上述错误.奇怪的是,它已经在生产系统上运行了近3个月,没有任何问题,上周突然崩溃了.据我所知,这些表格没有任何变化.

有没有人遇到过这样的事情?我相信它与我在其中实现的聚合函数有关; 但它最初起作用了.

请; 请将我开发的脚本部分附加到我认为给出错误的过程中.

创建或替换程序V1

- 宣布

    v_a       VARCHAR2(4000);
    v_b       VARCHAR2(4000);
    v_c       VARCHAR2(4000);
    v_d       VARCHAR2(4000);
    v_e       VARCHAR2(4000);
    v_f       VARCHAR2(4000);
    v_g       VARCHAR2(4000);
    v_h       VARCHAR2(4000);
    v_i       VARCHAR2(4000);
    v_j       VARCHAR2(4000);
    v_k       VARCHAR2(4000);
    v_l       VARCHAR2(4000);
    v_m       VARCHAR2(4000);
    v_n       NUMBER(10);
    v_o       VARCHAR2(4000);
Run Code Online (Sandbox Code Playgroud)

-
- 填充DEMO表的过程

        BEGIN

              -- Delete all from the DEMO table
              DELETE FROM DEMO;

              -- Populate fields in DEMO from DEMOV1
              INSERT INTO DEMO(ID, D_ID, CTR_ID, C_ID, DT_NAM, TP, BYR, ENY,
                               ONG, SUMM, DTW, REV, LD, MD, STAT, CRD)
              SELECT ID, …
Run Code Online (Sandbox Code Playgroud)

oracle plsql aggregate-functions

0
推荐指数
1
解决办法
7848
查看次数

如何使用HAVING标准计算MySQL条目

所以通常你可以做到

SELECT COUNT(field.id) FROM table WHERE field.id > 100
Run Code Online (Sandbox Code Playgroud)

和COUNT(字段)将返回具有field.id> 100标准的条目数

但是,如果您计算使用HAVING标准指定的条目,例如

SELECT COUNT(field.id), field.id * 10 AS foo FROM table HAVING foo > 100
Run Code Online (Sandbox Code Playgroud)

在这种情况下代码不起作用....

如何计算通过HAVING子句指定其条件的条目?

提前致谢

mysql sql aggregate-functions having

0
推荐指数
1
解决办法
304
查看次数

Array_Agg的替代品:PostgreSQL

是否有PostgreSQL Array_Agg函数的替代方法,因此它不会返回格式为{x,y,z,}的值.我可以让它返回:x,y,z?

arrays postgresql aggregate-functions

0
推荐指数
1
解决办法
3205
查看次数

用于求和数据的SQL查询

我的表数据如下

TaxTypeCode1   TaxTypeCode2  PNO   Amount 
-----------------------------------------
TX01           TX02           124     600
TX02           null           124     700 
TX03           TX04           124     200 
TX04           null           124     300
TX05           TX06           126     400 
TX06           null           127     500 
TX07           null           128     800 
Run Code Online (Sandbox Code Playgroud)

我想编写SQL查询来检索数据.

条件适用如果pno相同而TaxTypeCode1包含TaxTypeCode2则将amt求和,否则显示实际amt

我的预期产量是

PNO      Amount 
---------------
 124     1300
 124      500
 126      400
 127      500
 128      800
Run Code Online (Sandbox Code Playgroud)

124有1300因为pno是相同的而TaxTypeCode2(TX02)TaxTypeCode1(TX02)是相同的然后总和

TX01           (TX02)           124     600
(TX02)           null           124     700 
Run Code Online (Sandbox Code Playgroud)

126有400因为pno不同而TaxTypeCode2(TX02)TaxTypeCode1(TX02)相同不求和

TX05           (TX06)           (126)     400 
(TX06)           null           (127)     500
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉如何编写查询来检索该数据?

sql t-sql sql-server aggregate-functions

0
推荐指数
1
解决办法
2378
查看次数

SQL查询问题:未生效查询的一部分

我的问题是:我有一个MS SQL查询,它结合了不同用户的游戏和游戏分数,并在两部分计算中使用聚合函数来获得综合得分.由于某种原因,计算的一部分(计算的第一部分 - 所玩的游戏)未在总分中使用(我称之为Algoscore).查询如下:

SELECT TOP 10
  COUNT(TourScore.TourScoreID) AS GameCount,
  AVG(GameScore.GameScore) AS AVGScore,
  Users.UserID, Users.DisplayName,
  (((COUNT(TourScore.TourScoreID) / 750) * .50) * 100)
    + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore
FROM TourScore INNER JOIN GameScore
    ON TourScore.GameScoreID = GameScore.GameScoreID
  INNER JOIN Users
    ON GameScore.UserID = Users.UserID
WHERE (GameScore.ScoreDate BETWEEN '01/01/2013' AND '06/01/2013') 
GROUP BY Users.UserID, Users.DisplayName
ORDER BY Algoscore DESC
Run Code Online (Sandbox Code Playgroud)

SELECT的计算部分:
(((COUNT(TourScore.TourScoreID) / 750) * .50) * 100) + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore …

sql t-sql sql-server aggregate-functions

0
推荐指数
1
解决办法
65
查看次数

关于聚合和排序的困难sql

我想为以下问题提供一些帮助,谢谢.

原表:

id, mark
1, 3
2, 4
3, 5
4, 10
5, 14
Run Code Online (Sandbox Code Playgroud)

结果表

id, mark
1, 36
2, 33
3, 29
4, 24
5, 14
Run Code Online (Sandbox Code Playgroud)

如何使用sql从原始表中获取结果表?我注意到结果表中的标记字段是其他的总和,但不知道如何实现它.

sql database sql-order-by aggregate-functions

0
推荐指数
1
解决办法
50
查看次数

sql中的一个列条件

我有一张桌子:

[letter] [Name]  [status]  [price]
      A    row1       1        11
      A    row1       1        15
      B    row2       2         9
      B    row2       3        23
      B    row2       3        30
Run Code Online (Sandbox Code Playgroud)

并希望选择这样的数据:

 SELECT letter, Name, 
    COUNT(*),
    CASE WHEN price>10 THEN COUNT(*) ELSE NULL END
    GROUP BY letter, Name
Run Code Online (Sandbox Code Playgroud)

结果是:

 A    row1     2      2 
 B    row2     1      null 
 B    row2     2      2 
Run Code Online (Sandbox Code Playgroud)

但我想要这种格式:

 A    row1      2     2 
 B    row2      3     2
Run Code Online (Sandbox Code Playgroud)

请帮我修改我的查询

sql aggregate-functions

0
推荐指数
1
解决办法
42
查看次数

如何从数组中检索所有最大值?

我需要使用php从数组中获取所有最大值.

对于这个数组:

$arr = array('a'=>10,'b'=>20,'c'=>5,'d'=>20);
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码,

$key = array_search(max($arr), $arr);
Run Code Online (Sandbox Code Playgroud)

但我得到的只是b,我需要得到双方bd-具有最高值的所有键.

php arrays max aggregate-functions

0
推荐指数
1
解决办法
333
查看次数

使用Linq to SQL在一个查询中使用多个聚合函数

我试图在LINQ(EF6)中实现以下功能:

SELECT count(A), sum(B), average(C)
FROM TableA,
LEFT JOIN TableB ON ...
LEFT JOIN TableC ON ...
WHERE
    (very complicated conditions)
Run Code Online (Sandbox Code Playgroud)

C#代码如下所示:

IQueryable<Entity> = dbSet
    .Include(e => e.entityB)
    .Include(e => e.EntityC)
    .Where( <very complicated conditions> );
Run Code Online (Sandbox Code Playgroud)

如何在不同的字段上应用多个聚合函数?具体来说,在某种程度上,这不会导致复杂的条件在结果查询中反复复制?

c# linq entity-framework aggregate-functions

0
推荐指数
1
解决办法
564
查看次数

#1305功能dbname.json_arrayagg不存在

也许我想念一些东西.但为什么这个功能不存在?

根据文档,它应该是:https: //dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

版本:5.7.21-0ubuntu0.16.04.1

有人帮助我pls :)这个功能可以帮助我很好.

mysql aggregate-functions mysql-5.7

0
推荐指数
1
解决办法
2651
查看次数