标签: aggregate-functions

简单的SQL查询

我有一张桌子,这些列:

ID  |  Data
Run Code Online (Sandbox Code Playgroud)

如何找出ID最高的记录?

sql database aggregate-functions

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

MySQL - Max()返回错误的结果

我在MySQL服务器上试过这个查询(5.1.41)......

SELECT max(volume), dateofclose, symbol, volume, close, market FROM daily group by market
Run Code Online (Sandbox Code Playgroud)

我得到了这个结果:

max(volume) dateofclose symbol  volume  close   market
287031500     2010-07-20  AA.P    500     66.41   AMEX
242233000     2010-07-20  AACC    16200   3.98    NASDAQ
1073538000   2010-07-20  A       4361000 27.52   NYSE
2147483647   2010-07-20  AAAE.OB 400     0.01    OTCBB
437462400     2010-07-20  AAB.TO  31400   0.37    TSX
61106320       2010-07-20  AA.V    0       0.24    TSXV
Run Code Online (Sandbox Code Playgroud)

如您所见,最大音量与音量列的"实际"值非常不同?!?

volume列定义为int(11),我在这个表中有200万行,但它离MyISAM存储的最大值很远,所以我不相信这是问题所在!?同样奇怪的是数据从同一天开始显示(dateofclose).如果我使用WHERE子句强制特定日期,则相同的符号会出现不同的max(volume)结果.这很奇怪......

需要一些帮助!

更新:

这是我编辑的"工作"请求:

SELECT a.* FROM daily a 
INNER JOIN ( 
SELECT market, MAX(volume) AS max_volume 
FROM daily 
WHERE dateofclose = '20101108' …
Run Code Online (Sandbox Code Playgroud)

mysql sql aggregate-functions greatest-n-per-group

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

新手问题:NN连接匹配所有列表

表格:

-- products --
   id

-- categories --
   id

-- products_categories --
   id
   product_id
   category_id
Run Code Online (Sandbox Code Playgroud)

什么是SQL查询,它返回与给定的category_ids列表匹配的所有产品ID?

示例:给定列表(3,4,5)我希望所有具有最少(可能更多)类别ID 3和类别ID 4以及类别ID 5的product_ids?

sql postgresql aggregate-functions

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

SQLite min/max奇怪的行为

我有一个排名表,其架构被定义为rank(id,key,value),其中key是主键

sqlite> .schema rank
CREATE TABLE 'rank' ( ID VARCHAR, KEY VARCHAR, VALUE VARCHAR NOT NULL );
CREATE INDEX 'rank_id___djklaf3451jlZZZRFfa___' ON 'rank' ( ID );

sqlite> select * from rank;
-----------------------------------------------------
Tymb-W64uwvM|Tymc8LPQnxBg|5
TymdPRdFpBcE|TymdSsaIFhuI|2
TymdPRdFpBcE|TymdjkGgExcE|3
TymeVf6N1RH4|TymeZGxydCJ8|3
TymeVf6N1RH4|Tymeecz1ORW8|20

sqlite> select id,min(value) from rank group by id;
------------------------------------------------------
Tymb-W64uwvM|5
TymdPRdFpBcE|2
TymeVf6N1RH4|20

sqlite> select id,max(value) from rank group by id;
------------------------------------------------------
Tymb-W64uwvM|5
TymdPRdFpBcE|3
TymeVf6N1RH4|3
Run Code Online (Sandbox Code Playgroud)

如您所见,最小和最大功能的第3个结果都不正确.sqlite版本是3.6.23.

有什么建议?

sqlite max aggregate-functions min

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

Postgres中的Concat行

给出的是像这样的Postgres表

nummer  vorname    name        cash
------|-----------|-----------|-----
1       paul       smith       500
2       andy       london      700
2       mike       dover       700
3       clara      winchester  200
Run Code Online (Sandbox Code Playgroud)

要查询此表,我的sql看起来像这样正确知道:

SELECT 
  nummer,
  vorname,
  name,  
  cash as total
FROM 
  data.myTable
GROUP BY
  nummer, 
  name,
  vorname,
  cash
ORDER BY
  nummer; 
Run Code Online (Sandbox Code Playgroud)

是否可以将两行nummer相同(在本例中2).意味着我的输出应该如下所示(如果数字相等,现金也将具有相同的值):

nummer  vorname    name        cash
------|-----------|-----------|-----
1       paul       smith       500
2       andy       london      700
        mike       dover       
3       clara      winchester  200
Run Code Online (Sandbox Code Playgroud)

postgresql concat aggregate-functions

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

SQL SUM函数没有分组数据

我需要对由某些其他变量打破的变量求和.我通常会使用该group by功能执行此操作.

但是在这种情况下,我不想汇总数据.我想保留原始数据与某种聚合sum.

-ID-- --amount--
  1        23
  1        11
  1        8
  1        7
  2        10
  2        20
  2        15
  2        10
Run Code Online (Sandbox Code Playgroud)

结果

-ID-- --amount-----SUM
  1        23      49
  1        11      49
  1        8       49
  1        7       49
  2        10      55
  2        20      55
  2        15      55
  2        10      55
Run Code Online (Sandbox Code Playgroud)

mysql sql aggregate-functions

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

TSQL GROUP BY没有聚合

考虑以下两个表:

key_names
----------------------------------------------
id | name
----------------------------------------------
1    Outside Temperature
2    Inside Temperature
3    Relative Humidity 

key_values
----------------------------------------------
id | time                    | key_id | value
----------------------------------------------
1    2013-06-04 13:20:16.347   1        50
2    2013-06-04 13:20:16.348   2        30
3    2013-06-04 13:20:16.349   3        10
4    2013-06-04 13:20:31.120   1        55
5    2013-06-04 13:20:31.122   2        29
6    2013-06-04 13:20:31.120   3        11
Run Code Online (Sandbox Code Playgroud)

对于3个不同的密钥,值以15秒的间隔写入数据库.我希望能够在1分钟,5分钟,1小时和其他时间间隔取出值.

这就是我现在所用的五分钟间隔:

SELECT time, key_name, value
FROM key_values kv
JOIN key_names kn ON kv.key_id = kn.id
WHERE (key_id = 1 OR key_id = 2 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server aggregate-functions

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

隐藏MySQL计数列

在mysql中使用count和group by时,如何隐藏在结果表中隐式显示的count列?

SELECT name, region, COUNT(*) as num_visits 
  FROM world
    GROUP BY region
      HAVING num_visits > 1
Run Code Online (Sandbox Code Playgroud)

这将显示一个表,其中一列作为区域,另一列作为每个的num_visits(假设它被多次访问).

是否可以隐藏最后一列,以便只显示区域?

谢谢!

mysql sql database count aggregate-functions

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

如何在Oracle SQL Developer中计算标准偏差?

我有一个桌子员工,

CREATE TABLE employees (
employeeid NUMERIC(9) NOT NULL,
firstname VARCHAR(10),
lastname VARCHAR(20),
deptcode CHAR(5),
salary NUMERIC(9, 2),
  PRIMARY KEY(employeeid)
);
Run Code Online (Sandbox Code Playgroud)

我想计算工资的标准差.

这是我正在使用的代码:

select avg(salary) as mean, sqrt(sum((salary-avg(salary))*(salary-avg(salary)))/count(employeeid)) as SD 
from employees
group by employeeid;
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ORA-00979: not a GROUP BY expression
00979. 00000 -  "not a GROUP BY expression"
*Cause:    
*Action:
Error at Line: 260 Column: 12
Run Code Online (Sandbox Code Playgroud)

第260行第12列是平均(工资)

我该如何解决这个问题?

sql oracle math group-by aggregate-functions

1
推荐指数
2
解决办法
2万
查看次数

postgresql - 使用聚合和最大值

我有这张桌子:

abs=# \d import.vw_rpt_certification 
                 Table "import.vw_rpt_certification"
            Column            | Type | Collation | Nullable | Default 
------------------------------+------+-----------+----------+---------
 user_id                      | text |           |          | 
 cert_object_id               | text |           |          | 
 version                      | text |           |          | 
 cert_is_active               | text |           |          | 
 cert_modify_dt               | text |           |          | 
 period_type                  | text |           |          | 
 user_cert_status             | text |           |          | 
 first_period_completion_date | text |           |          | 
 period_expiration_date       | text |           |          | 
 period_due_date              | text |           |          | 
 user_lo_active               | text | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql aggregate-functions postgresql-9.6

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