• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wybranie 3 ostatnich rekordów (przy użyciu podzapytań i bez LIMIT ) - Mysql

Object Storage Arubacloud
0 głosów
443 wizyt
pytanie zadane 6 kwietnia 2020 w SQL, bazy danych przez polskiPiter Początkujący (370 p.)

Dzień dobry.

Mam takie zadanie, że muszę wybrać trzy ostatnie zamówienia na podstawie daty,

używając wyłącznie podzapytań i bez użycia klauzuli LIMIT.

Do tej pory udało mi się uzyskać coś takiego:

select * from zamow 
where data >= (select max(data) from zamow 
	where data < (select max(data) from zamow 
		where data < (select max(data) from zamow))) 
order by data;

Problem jest taki, że nie jest to dobre rozwiązanie, jeśli byśmy chcieli np. 200 ostatnich zamówień.

Wtedy trzeba by zagnieździć kolejne:

... where data < (select max(data) from zamow where data < ...

Czy ktoś mądrzejszy ode mnie podpowie mi co mogę dodać/zmienić w zapytaniu by uczynić je lepszym i by spełniało powyższe warunki ?

1 odpowiedź

0 głosów
odpowiedź 7 kwietnia 2020 przez DanJ93 Użytkownik (860 p.)
Dlaczego nie możesz użyć "LIMIT"?
A co do większej ilości, wystarczy użyć pętli w PHP, ale to bez sensu trochę bo wykona się X zapytań
komentarz 7 kwietnia 2020 przez polskiPiter Początkujący (370 p.)
Bo autor zadania wymyślił że jest możliwe wykonanie tego zadania bez użycia tej klauzuli.
komentarz 7 kwietnia 2020 przez DanJ93 Użytkownik (860 p.)

A czy tu nie chodzi przypadkiem o coś takiego

... WHERE data > $wartość1 AND data < $wartość2

I do tego zastosować w razie potrzeby sortowanie, bo coś wspominałeś, że ma wyciągać 3 (lub więcej) ostatnich.

A jeśli to nadal nie to, to chyba zostaje pętla

komentarz 8 kwietnia 2020 przez polskiPiter Początkujący (370 p.)
Mamy tylko max(data), ale jak ograniczyć do tylko 3 rekordów ?

Podobne pytania

0 głosów
2 odpowiedzi 3,206 wizyt
0 głosów
2 odpowiedzi 557 wizyt
pytanie zadane 18 września 2021 w SQL, bazy danych przez sisOOO Obywatel (1,370 p.)
0 głosów
1 odpowiedź 1,671 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)

92,573 zapytań

141,423 odpowiedzi

319,647 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...