假设我有一个MySQL表:
?????????????????????????????????? ? time ? mid ? field_1 ? field_2 ? ?????????????????????????????????? ? 100 ? 1 ? 32 ? 54 ? ? 100 ? 2 ? 0 ? 34 ? ? 100 ? 3 ? 44 ? 99 ? ? 200 ? 1 ? 0 ? 45 ? ? 200 ? 2 ? 0 ? 45 ? ? 200 ? 3 ? 4 ? 59 ? ? 200 ? 4 ? 45 ? 45 ? ??????????????????????????????????
time是UNIX时间戳.mid是会员ID.field_1由会员提供.field_2自动填充.
我希望为所有成员选择具有最近非零field_1的行.因此查询将导致:
?????????????????????????????????? ? …
可能重复:
检索每个组中的最后一条记录
大家好我有我的表数据如下
ID FedTaxID RegularPay Payperiodnumber
1 562545366 500 1
2 562545366 501 1
3 562545366 5000 2
Run Code Online (Sandbox Code Playgroud)
我想得到如下数据
ID FedTaxID RegularPay Payperiodnumber
2 562545366 501 1
3 562545366 5000 2
Run Code Online (Sandbox Code Playgroud)
我尝试了一些如下的事情,但我没有得到所需的结果
select max(id) ID,regularpay,fedtaxid,payperiodnumber
from tblemployeegrosswagesn1 where fedtaxid="562545366"
group by payperiodnumber
having count(*) >= 1;
Run Code Online (Sandbox Code Playgroud)
谁能帮我
我需要从表中提取每个用户的最后记录。表架构如下所示。
mytable
product | user_id |
-------------------
A | 15 |
B | 15 |
A | 16 |
C | 16 |
-------------------
Run Code Online (Sandbox Code Playgroud)
我想要得到的输出是
product | user_id |
-------------------
B | 15 |
C | 16 |
Run Code Online (Sandbox Code Playgroud)
基本上是每个用户的最后记录。
提前致谢!
我有一个表功能,有一个名为sample_time的datetimetz字段和一个名为amp_hours的列.
amp_hours字段大约每两分钟获得一次记录,并在午夜每晚重置.
我想看看每天最后一条记录的sample_time和amp_hours.
我对SQL很新,所以我可能会忽略一个明显的答案.
我看到这篇关于如何选择组的最后一条记录的帖子,但我对SQL不熟悉以使其在日期时间内工作:
我想使用lead()或lag()比较记录的日期和下一条记录,但我使用postgresql 8.3,我认为窗口是在8.4中引入的.
我有以下结构。不是在一张表中,而是为了保持简单:
Press | Batch | Start time
-------------------------------------------------
PRESS_1 | 2051 | 2017-05-18T00:00:00
PRESS_1 | 2052 | 2017-05-19T00:00:00
PRESS_2 | 2053 | 2017-05-20T00:00:00
PRESS_2 | 2054 | 2017-05-16T00:00:00
PRESS_3 | 2055 | 2017-05-12T00:00:00
PRESS_3 | 2056 | 2017-05-18T00:00:00
PRESS_3 | 2057 | 2017-05-19T00:00:00
Run Code Online (Sandbox Code Playgroud)
我想获得每台印刷机的最后一个计划批次。结果应该是:
Press | Batch | Start time
-------------------------------------------------
PRESS_1 | 2052 | 2017-05-19T00:00:00
PRESS_2 | 2053 | 2017-05-20T00:00:00
PRESS_3 | 2057 | 2017-05-19T00:00:00
Run Code Online (Sandbox Code Playgroud)
但是,当我按按分组并且还想选择批次时。我有义务将批次放入“分组依据”条款中。
Select x.Press, x.Batch, max(x.StartTime)
From myTable x
Group by x.Press
Run Code Online (Sandbox Code Playgroud)
如何使用 JPQL 实现这一点?
使用 Eloquent,试图找到一种方法来获取按以下方式分组的每一行的最新行:exchange、base、quote
数据
exchange base quote price value created_at
bittrex BTC USD 10000 10000 2018-01-05
bittrex BTC USD 9000 9000 2018-01-01
poloniex BTC USD 10001 10001 2018-01-05
poloniex BTC USD 9000 9000 2018-01-01
binance BTC USD 10002 10002 2018-01-05
binance BTC USD 9000 9000 2018-01-01
binance ETH USD 800 800 2018-01-05
binance ETH USD 700 700 2018-01-01
Run Code Online (Sandbox Code Playgroud)
结果:
bittrex BTC USD 10000 10000 2018-01-05
poloniex BTC USD 10001 10001 2018-01-05
binance BTC USD 10002 10002 2018-01-05
binance ETH USD 800 …Run Code Online (Sandbox Code Playgroud) 我需要通过 to_user 按降序获取最后的对话记录。我有一个叫做消息的表。请查看以下屏幕截图:

我希望以下列方式输出:
from_user| to_user | message |
241 | 226 | How are you? |
241 | 256 | Hi test message |
Run Code Online (Sandbox Code Playgroud)
我试过这个查询:
SELECT * FROM `messages` where from_user=241 group by to_user order by created DESC
Run Code Online (Sandbox Code Playgroud)
我得到以下错误的输出:
提前致谢。
我有一张桌子.我想获得每个独特的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) 我有两张桌子,车辆的描述和一个lat/long的理想表格.两个表都有一个Id键(PK和FK).
我的SELECT看起来像这样
SELECT vehicles.id, vehicles.description, vehicles.type,
positions.time_stamp, positions.latitude, positions.longitude
FROM vehicles
INNER JOIN positions
ON vehicles.id=positions.id
Run Code Online (Sandbox Code Playgroud)
我想订购和限制它,以便它只显示每辆车报告的最新poisiotn的连接值.
我怎样才能做到这一点?谢谢
[更新]我创建了这个SqlFiddle演示,它没有提供所需的结果.
我想我需要一些东西
ORDER BY positions.time_stamp DESC
LIMIT SELECT COUNT(*) FROM vehicles
Run Code Online (Sandbox Code Playgroud)
如果只是有效的语法: - /
[进一步更新]对于那些关注thinsg执行顺序的人:
positions表中没有删除,只有插入这会让它变得更容易吗?
我想按时间DESC选择每个id顺序插入的最后一行
s.no id message status time
1 3 this is msg 1 unread 100001
2 2 this is msg 2 read 100002
3 4 this is msg 3 read 100003
4 3 this is msg 4 unread 100004
5 2 this is msg 5 read 100005
6 3 this is msg 6 unread 100006
Run Code Online (Sandbox Code Playgroud)
我在用
select * from table group by id order by MAX(time) DESC
Run Code Online (Sandbox Code Playgroud)
它给出了正确的id顺序,但行互换了
我希望它像:
s.no id message status time
6 3 this is msg …Run Code Online (Sandbox Code Playgroud) 鉴于以下简单表:
+-----+-------------+---------+----+
| id_ | match_op_id | version | p1 |
+-----+-------------+---------+----+
| 1 | 1 | 1 | 1 |
| 2 | 1 | 1 | 5 |
| 3 | 1 | 2 | 3 |
| 4 | 1 | 2 | 4 |
| 5 | 2 | 1 | 1 |
| 6 | 2 | 1 | 5 |
| 7 | 2 | 2 | 3 |
| 8 | 2 | …Run Code Online (Sandbox Code Playgroud) mysql ×6
sql ×5
postgresql ×2
eloquent ×1
jpql ×1
laravel ×1
laravel-5 ×1
sql-server ×1
timestamp ×1