Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pierwszy/ostatni element w tableli
umatik
post
Post #1





Grupa: Zarejestrowani
Postów: 209
Pomógł: 0
Dołączył: 17.05.2002
Skąd: lodz

Ostrzeżenie: (0%)
-----


jak mam zadac pytanie zeby otrzymac ostatni badz pierwszy element z tablicy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jesli masz id i jest ono autoincrement:
  1. SELECT id
  2. FROM tablica ORDER BY id ASC LIMIT 1

asc - pierwszy
desc - ostatni
Go to the top of the page
+Quote Post
TomASS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Ostatni? to zależy jak się je posotruje? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czy ostatni dodany, czy ostatni po nazwie, generalnie to:

pierwszy:
  1. SELECT *
  2. FROM tabele ORDER BY Identyfikator LIMIT 1;


ostatni:
  1. SELECT *
  2. FROM tabele ORDER BY Identyfikator DESC LIMIT 1;



--------edit--------
@nospor: jak zwykle szybszy - tym razem o ułamki sekund (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował TomASS 9.09.2005, 12:22:42
Go to the top of the page
+Quote Post
umatik
post
Post #4





Grupa: Zarejestrowani
Postów: 209
Pomógł: 0
Dołączył: 17.05.2002
Skąd: lodz

Ostrzeżenie: (0%)
-----


nie no za pomoca limit to jest jasne ale jak mam wybrac ostatni/pierwszy index tak aby potem mozna to bylo zastosowac w zlaczeniach?

Ten post edytował umatik 9.09.2005, 12:25:40
Go to the top of the page
+Quote Post
kszychu
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


  1. SELECT MAX(ID) AS ostatni, MIN(ID) AS pierwszy
  2. FROM tabela
Go to the top of the page
+Quote Post
umatik
post
Post #6





Grupa: Zarejestrowani
Postów: 209
Pomógł: 0
Dołączył: 17.05.2002
Skąd: lodz

Ostrzeżenie: (0%)
-----


pomizszy kod jest oczywiscie niepoprawny ale ilustruje sytuacje o ktora mi chodzi

  1. SELECT MAX( A.id ) AS 'maxA', A.temat, MAX( I.id ) AS 'maxI', I.temat
  2. FROM informacje I, aktualnosci A
  3. WHERE A.id = maxA AND I.id = maxI
Go to the top of the page
+Quote Post
TomASS
post
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Nie za bardzo kumam :/ Dlaczego nie może być tak jak Ci proponujemy?
Go to the top of the page
+Quote Post
umatik
post
Post #8





Grupa: Zarejestrowani
Postów: 209
Pomógł: 0
Dołączył: 17.05.2002
Skąd: lodz

Ostrzeżenie: (0%)
-----


dlatego ze chce za jednym pytaniem pobrac ostatnia Informacje i ostatnia Aktualnosc
Go to the top of the page
+Quote Post
TomASS
post
Post #9





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Aha, to masz dwie tablice.....

Czy te tablice są takie same? (jeśli tak, to dlaczego nie zrobisz z nich jednej tablicy)

Rozumiem, że chcesz wybrać jeden najświeższy rekord z tablicy Informacje i drug z tablicy Aktualności.

Niestetety w takim wypadku przychodzi mi tylko do głowy użycie dwóch zapytań.

Ten post edytował TomASS 9.09.2005, 13:06:54
Go to the top of the page
+Quote Post
umatik
post
Post #10





Grupa: Zarejestrowani
Postów: 209
Pomógł: 0
Dołączył: 17.05.2002
Skąd: lodz

Ostrzeżenie: (0%)
-----


ej no nie wirze ze nie mozna tego zrobic za pomoca jednego pytania...
Go to the top of the page
+Quote Post
SongoQ
post
Post #11





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%)
-----


Mozna np z podzapytaniem, bo inaczej 2 wartosci z funkcji agregacji i pola nie zwrocisz, czyli cos takiego jesli Ci o to chodzi.

  1. SELECT C.maxA, C.maxI, B.temat
  2. FROM (SELECT MAX( A.id ) AS maxA, A.temat, MAX( I.id ) AS maxI
  3. FROM informacje I, aktualnosci A
  4. ) C, informacje B WHERE C.maxI = B.id


Pelecam funkcje max niz sortowanie, chyba wiadomo dlaczego algorytmy wybierania najwiekszej liczby sa szybsze od sortowania, przy indeksach sie to troche wyrownuje. Ale to juz zalezy od reszty warunkow i pol.
Go to the top of the page
+Quote Post
TomASS
post
Post #12





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 2005-09-09 21:00:44)
  1. SELECT C.maxA, C.maxI, B.temat
  2.  
  3. FROM (SELECT MAX( A.id ) AS maxA, A.temat, MAX( I.id ) AS maxI
  4.  
  5. FROM informacje I, aktualnosci A
  6. ) C, informacje B WHERE C.maxI = B.id

czy gdzieś nie powinno być AS C i AS B ?
Wygląda na to, że inaczej niż z pod zapytanie se ne da.

Ten post edytował TomASS 9.09.2005, 22:13:03
Go to the top of the page
+Quote Post
DeyV
post
Post #13





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




A jednak da się, da...
http://forum.php.pl/index.php?showtopic=11...indpost&p=76209

http://forum.php.pl/index.php?showtopic=31...olumn-group-row

A całość dokładnie omówiona tutaj:
http://dev.mysql.com/doc/mysql/en/example-...-group-row.html
Go to the top of the page
+Quote Post
SongoQ
post
Post #14





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%)
-----


Cytat
czy gdzieś nie powinno być AS C i AS B ?

Bazy dopuszczaja stosowanie AS po tabelach lub zbiorach ale to jest niezalecane. Juz nie pamietam w jakiej bazie, ale slowo AS po tabeli nie przechodzi.
Go to the top of the page
+Quote Post
Balas
post
Post #15





Grupa: Zarejestrowani
Postów: 347
Pomógł: 0
Dołączył: 27.08.2005
Skąd: Inowrocław

Ostrzeżenie: (0%)
-----


Dodam ze dopiero ucze sie mysqla (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

a wiec jak przypisac ostatnia wartosc z tabeli do zmiennej (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
SongoQ
post
Post #16





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%)
-----


http://pl.php.net/manual/pl/function.mysql-fetch-array.php
Tam masz wszystko (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Go to the top of the page
+Quote Post
FiDO
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat(DeyV @ 2005-09-09 23:33:53)
A jednak da się, da...
[...]

MAX-CONCAT trick jest dosc niewydajny, wiec nie zaleca sie jego stosowania. Mozna to zrobic lepiej.. pozwol, ze bezczelnie podlinkuje swojego posta z konkurencyjnym rozwiazaniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

http://forum.php.pl/index.php?showtopic=30...ndpost&p=175959

Rowiazanie oczywiscie nie jest moje.. ja je tylko znalazlem i zapamietalem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:58