查询最后一个值

时间:2015-05-27 20:31:41

标签: sql sql-server

目前我有这个问题:

SELECT l.klantId,
       bh.rechten,
       kg.voornaam,
       kg.achternaam,
       kg.woonplaats,
       kg.telefoonnr,
       og.klantbericht,
       s.klantstatus
FROM   login l
       INNER JOIN klantGegevens kg
               ON l.klantId = kg.klantid
       INNER JOIN bevoegdheden bh
               ON l.rechten = bh.id
       INNER JOIN orderGegevens og
               ON og.loginNr = l.klantid
       INNER JOIN status s
               ON s.id = og.klantstatus
WHERE  l.klantid = 1 

enter image description here

我只想从klantid收到最后一个订单。什么是正确的方法来做到这一点。我已经用“last()”尝试了这个,但这不起作用。

Thankss

2 个答案:

答案 0 :(得分:3)

select top 1 
       l.klantId, bh.rechten, kg.voornaam, kg.achternaam, kg.woonplaats, kg.telefoonnr, og.klantbericht, s.klantstatus 
from login l 
inner join klantGegevens kg on l.klantId=kg.klantid 
inner join bevoegdheden bh on l.rechten=bh.id 
inner join orderGegevens og on og.loginNr=l.klantid 
inner join status s on s.id=og.klantstatus 
where l.klantid=1 
order by ordernr desc

答案 1 :(得分:0)

T-SQL:使用TOP 1

PL / SQL:使用ROWNUM< = 1

MySQL:使用LIMIT 1