![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 5.02.2006 Skąd: Bytom Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Jako że w zagadnieniach mySQL dopiero raczkuje zadam to banalne pytanie... Jak sformułować zapytanie aby zróbiło ostatni rekord z danej tabeli? Pozdravki ![]() -------------------- Warsztat: http://traktor.net.pl/
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Więc...Żeby wybrać z bazy danych jakiś rekord trzeba posłłużyć się operatorem SELECT. Składnia powinna wyglądać tak:
* pole1, pole2, polen- określają nazwy pól, które serwer baz ma wysłać w wyniku, jeśli chce się otrzymać wszystkie wystarczy wpisać * (gwiazdkę). * FROM nazwa_tabeli- to chyba najprostszy fragment, określa nazwę tabeli, z której mają być wybrane rekordy * WHERE warunek1 AND warunek2- to warunek (warunki), wg których serwer ma przeszukiwać bazę. Można nie podać ich wcale i wtedy wynik będzie zawierał wszystkie rekordy z tabeli. Warunki można łączyć operatorami AND oraz OR oraz w nawiasy (tak jak wifw php) * ORDER BY nazwa_klucza rodzaj_sortowania- określa według jakiego klucza posortowane mają być wyniki i w jakiej kolejności. Dostępne są dwa rodzaje sortowania ASC- rosnące i DESC- malejące * LIMIT klucz_poczatkowy, ilosc_rekordów- określa ile wyników ma być zwrócone. Warto pamiętać, że ilosc_rekordow pokazuje ile ma być zwrócone rekordów od klucz_początkowy a nie jest to id klucza końcowego (częsty błąd). Mam nadzieje że pomogłem ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@FilleZill Tym przykladem troche sie nie popisales. Ale przynajmniej opisales co i jak.
Jesli uzywamy ORDER BY wazne jest aby to bylo po polu ktore jest indexem. Jesli tak nie bedzie wydajnosc jest nie najlepsza. Kolejna rzecza stosowanie do tego LIMIT te znie najbardziej sie sprawdzi. Najprostrzym przykladem dla zwrocenie najnowszego rekordu jest uzycie MAX() dla pola id - poniewaz pole id jest kluczem podstawowym i funkcja max na indeksach dziala "blyskawicznie". Oczywiscie przy malej liczbie rekordow nie ma roznicy ale dla wiekszej liczby mozna to zauwazyc. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 5.02.2006 Skąd: Bytom Ostrzeżenie: (10%) ![]() ![]() |
Dzięki, nie musiałeś mi całej składni tłumaczyć bo takie podstawy to znam
![]() Co do ostatniego rekordu, chciałem to zrobić jak najwydajniej, owszem mogłem dać sortowanie malejące i dać pętle for ale prościej (i pewnie szybciej) jest użycie przygotowanego do tego zapytania, Dzięki ![]() -------------------- Warsztat: http://traktor.net.pl/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Tak jak pisalem uzyj max() w zapytaniu
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 5.02.2006 Skąd: Bytom Ostrzeżenie: (10%) ![]() ![]() |
gdzie vid to podstawowy klucz auto_increment (tinyint) zwraca:
probowałem vid ująć w ' lub ` ale to nie pomaga, mógłbym prosić link do manuala tej funkcji? -------------------- Warsztat: http://traktor.net.pl/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Hehe widze ze jednak przyklad FilleZill nie nauczyl Cie.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:55 |