标签: greatest-n-per-group

简单SQL最大列查询

我有两列A和B.我想选择A列的值,其中B有其最大值.

SELECT MAX(B) FROM table_name
Run Code Online (Sandbox Code Playgroud)

只是给了我B的价值.

我可以使用B的值进行另一个查询来获取A,但只有一个SQL查询有更短的方法吗?

mysql sql greatest-n-per-group

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

我如何在sql中使用max()

我有一个看起来像这样的表:

col1   col2  col3  
------ ----- ----- 
A      1     trout
A      2     trout
B      1     bass
C      1     carp
C      2     tuna
D      1     salmon
Run Code Online (Sandbox Code Playgroud)

我真的只想选择col2最大值的行.

我想要生成的查询将返回以下内容:

col1   col2  col3  
------ ----- ----- 
A      2     trout
B      1     bass
C      2     tuna
D      1     salmon
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情:

select col1, max (col2) as mCol2, col3
from mytable
group by col1, col2
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到:

col1   Mcol2 col3  
------ ----- ----- 
A      2     trout
B      1     bass
C      1     carp
C      2     tuna
D      1 …
Run Code Online (Sandbox Code Playgroud)

sql oracle greatest-n-per-group

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

如何使用组选择前两行

我有:

表格1

ID  date       amt
-------------------    
001 21/01/2012 1200
001 25/02/2012 1400
001 24/03/2012 1500
001 21/04/2012 1000
002 21/03/2012 1200
002 01/01/2012 0500
002 08/09/2012 1000
.....
Run Code Online (Sandbox Code Playgroud)

我想从DESC 中ID排序的每组中选择前两行.dateTable1

查询看起来像这样:

SELECT TOP 2 DATE, ID, AMT FROM TABLE1 GROUP BY ID, AMT --(NOT WORKING)
Run Code Online (Sandbox Code Playgroud)

预期产量:

ID  date       amt
-------------------
001 21/01/2012 1200
001 25/02/2012 1400
002 21/03/2012 1200
002 01/01/2012 0500

.....
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005 greatest-n-per-group

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

如何使用ORDER BY选择多行

我想选择desc排序的多行.例如,我想为Kandy,Ampara和Anuradhapura选择最后添加的行.请从下面的链接查看我的数据库的屏幕截图.

一个

我试过了:

SELECT thripstot, g_midgetot, l_foldertot 
FROM pest_data 
WHERE district = 'ampara' OR district = 'kandy' OR district = 'anuradhapura' 
order by id desc 
limit 0,1;
Run Code Online (Sandbox Code Playgroud)

而这并不能提供我所需要的结果.

php mysql sql greatest-n-per-group

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

T-SQL按最早的日期和唯一类别选择行

我正在使用Microsoft SQL.我有一个表,其中包含由两个不同类别和日期存储的信息.例如:

ID   Cat1   Cat2   Date/Time   Data  
1    1      A      11:00       456
2    1      B      11:01       789
3    1      A      11:01       123
4    2      A      11:05       987
5    2      B      11:06       654
6    1      A      11:06       321
Run Code Online (Sandbox Code Playgroud)

我想为Cat1和Cat2的每个独特组合提取一行,我需要具有最早日期的行.在上面我想要ID = 1,2,4和5.

谢谢

t-sql sql-server greatest-n-per-group

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

如何为每个对话选择上一条消息?

以下是我的数据库的样子:

表: conversations

+----+--------+--------+
| id | user_1 | user_2 |
+----+--------+--------+
| 1  | 1      | 2      |
| 2  | 2      | 3      |
| 3  | 1      | 3      |
+----+--------+--------+
Run Code Online (Sandbox Code Playgroud)

表: messages

+----+--------------+------+
| id | conversation | text |
+----+--------------+------+
| 1  | 1            | hej  |
| 2  | 1            | test |
| 3  | 2            | doh  |
| 4  | 2            | hi   |
| 5  | 3            | :)   | …
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by greatest-n-per-group

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

检索具有列的最大值的行的属性

我有以下关系Invoice:

Invoice
-------------------------------------
| Id | Country | Total | CustomerId |
-------------------------------------
| 1  | USA     | 22.32 | 3          |
-------------------------------------
| 2  | Belgium | 12.18 | 4          |
-------------------------------------
| 3  | USA     | 27.76 | 2          |
-------------------------------------
| 4  | France  | 24.52 | 5          |
-------------------------------------
| 5  | USA     | 14.29 | 3          |
-------------------------------------
Run Code Online (Sandbox Code Playgroud)

我必须查询属性IdTotal发票,其中TotalCountry美国的价值最高.如果来自美国的多个发票具有相同的最大值,则必须在结果集中返回所有发票.

我到目前为止的内容如下:

SELECT
   i."Id",
   i."Total"
FROM 
   public."Invoice" …
Run Code Online (Sandbox Code Playgroud)

sql postgresql greatest-n-per-group

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

选择最高季节和剧集(mysql)

我有一个剧集表,如下所示:

在此输入图像描述

我想从最高季节中获得最高season,然后是最高,例如(WHERE系列= 1).输出将是:episodeseries 1

id | episode | season | series
8       3        1         1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

mysql sql greatest-n-per-group

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

在SQL中查找MAX(DATE)值

我是SQL的新手,因此这个问题 -

DATE我的表中有一列,我的查询应该用最新的值获取值DATE.我意识到我可以通过以下任何方式实现 -

  1. SELECT TRUNC(MAX(createddatetm)) cdt FROM (SELECT TO_TIMESTAMP(TO_CHAR(createddate, 'Month dd, yyyy hh:mi AM'), 'Month dd, yyyy hh:mi AM') as createddatetm FROM comments WHERE commentid = '1234');

  2. SELECT trunc(MAX(TO_TIMESTAMP(to_char(createddate, 'Month dd, yyyy hh:mi AM'), 'Month dd, yyyy hh:mi AM'))) FROM (SELECT createddate FROM comments WHERE commentid = '1234');

  3. SELECT TRUNC(MAX(createddatetm)) cdt FROM (SELECT TO_CHAR(createddate, 'Month dd, yyyy hh:mi AM') as createddatetm FROM comments WHERE commentid = '1234');

  4. SELECT trunc(MAX(to_char(createddate, 'Month dd, yyyy hh:mi AM'))) FROM (SELECT …

sql oracle date greatest-n-per-group

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

SQL:获取每个唯一ID的最后一行

我有一张桌子.我想获得每个独特的CoatingChambersID的最后一行.有24个独特的腔室,最后一行表示腔室处于最后状态的时间.

我可以得到一个如此独特的列表:

SELECT distinct CoatingChambersID, MAX(LastDT) as LastDT
  FROM [REO].[dbo].[CoatingChamberStateLogs] 
  group by CoatingChambersID
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何将其加入到原始表中.

在此先感谢您的帮助!

CoatingChamberStateLogsID   CoatingChambersID   StartDT LastDT  IntervalMin  CoatingChamberStatesID 
1001712 1003    2017-01-24 23:09:29.4632108 2017-01-25 03:04:32.6758500 235.053543986667    1007    
1001713 1006    2017-01-24 23:09:29.4632108 2017-01-25 00:30:30.8478433 81.0230772083333    1007    
1001714 1015    2017-01-24 23:09:29.4632108 2017-01-25 04:21:33.7601011 312.071614838333    1007    
1001715 1024    2017-01-24 23:09:29.4632108 2017-01-31 04:43:21.5643016 8973.86835151333    1001    
1001716 1016    2017-01-24 23:09:29.4632108 2017-01-25 00:01:30.4200122 52.01594669 1006    
1001717 1017    2017-01-24 23:09:29.4632108 2017-01-24 23:15:29.8261612 6.00604917333333    1006    
1001718 1018    2017-01-24 23:09:29.4632108 2017-01-26 01:42:49.4040548 1593.3323474    1006    0   
1001719 1019 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server greatest-n-per-group

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