MSSQL ostatni rekord spełniający warunek

0

Witam, zaczynam dopiero z MSSQL i doszedłem do pierwszych problemów. Potrzebuję wyciągnąć z bazy 1 ostatni rekord. Wiem, że to może przedszkole, ale za nic nie mogę sobie poradzić. Jak to zrobić?

0
SELECT TOP 1
...
ORDER BY ... DESC

?

1

Zauważ, że sortowanie odbywa się malejąco, więc dostaniesz ostatni.

0

dzięki kolego, zaoszczędziłeś mi pół dnia :)

1

Hmmm ale jeżeli to przedszkole to rozwiązanie można by jakoś opisać bo jest poprawne tylko przy pewnych warunkach:

SELECT TOP 1 ---- > Pokaż tylko 1 rekord
... ---> tu wpisujesz kolumny co chcesz wyświetlić
ORDER BY ... DESC --- > a tu sortujesz malejąco po kolumnie

To teraz weźmy przykład prostej tabeli z [Imie], [Nazwisko] i wierszami wprowadzonymi według kolejności

  • Olek - Kowalski
  • Waldek - Nowak
  • Franz - Maurer
  • Tania - Lewa

Podane zapytanie szukając po polu Imie:

SELECT TOP 1
[Imie], [Nazwisko]
ORDER BY [Imie] DESC

da rozwiązanie:

  • Waldek - Nowak

A nie Tania - Lewa.

Innymi słowy rozwiązanie sprawdzi się tylko gdy kolumna po której szukamy jest numerem i do tego przy wpisie nowego rekordu jest inkrementacja. (prosto mowiąc jakies pole ID z autonumerowaniem np. )

1
BlackBad napisał(a):

Innymi słowy rozwiązanie sprawdzi się tylko gdy kolumna po której szukamy jest numerem i do tego przy wpisie nowego rekordu jest inkrementacja.

albo datą wstawienia/aktualizacji rekordu

1 użytkowników online, w tym zalogowanych: 0, gości: 1