我有两列A和B.我想选择A列的值,其中B有其最大值.
SELECT MAX(B) FROM table_name
Run Code Online (Sandbox Code Playgroud)
只是给了我B的价值.
我可以使用B的值进行另一个查询来获取A,但只有一个SQL查询有更短的方法吗?
我有一个看起来像这样的表:
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) 我有:
表格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
排序的每组中选择前两行.date
Table1
查询看起来像这样:
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) 我想选择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)
而这并不能提供我所需要的结果.
我正在使用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.
谢谢
以下是我的数据库的样子:
表: 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) 我有以下关系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)
我必须查询属性Id
和Total
发票,其中Total
和Country
美国的价值最高.如果来自美国的多个发票具有相同的最大值,则必须在结果集中返回所有发票.
我到目前为止的内容如下:
SELECT
i."Id",
i."Total"
FROM
public."Invoice" …
Run Code Online (Sandbox Code Playgroud) 我有一个剧集表,如下所示:
我想从最高季节中获得最高season
,然后是最高,例如(WHERE系列= 1).输出将是:episode
series
1
id | episode | season | series
8 3 1 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我是SQL的新手,因此这个问题 -
DATE
我的表中有一列,我的查询应该用最新的值获取值DATE
.我意识到我可以通过以下任何方式实现 -
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');
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');
SELECT TRUNC(MAX(createddatetm)) cdt
FROM (SELECT TO_CHAR(createddate, 'Month dd, yyyy hh:mi AM') as createddatetm
FROM comments WHERE commentid = '1234');
SELECT trunc(MAX(to_char(createddate, 'Month dd, yyyy hh:mi AM')))
FROM (SELECT …
我有一张桌子.我想获得每个独特的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)