regis87
9.11.2003, 15:33:40
Witam!
Jak Waszym zdaniem najprosciej zrobic skrypt, ktory bedzie wedlug okreslonego zapytania mysql pobieral z bazy tylko i wylacznie drugi w kolejnosci rekord? Tzn. mam np. tabele:
id, opis
1,'jeden'
2,'dwa'
3,'trzy'
4,'cztery'
5,'piec'
Pobieram:
[sql:1:5299848fd7]SELECT * FROM tabela ORDER BY id DESC[/sql:1:5299848fd7]
To mi pobierze wszystkie rekordy. Ale ja potrzebuje tylko drugiego rekordu ktory zwroci to query, w tym wypadku 4,'cztery'. Jak zatem zrobic to najprosciej? Moge zapisac wszystko co zwroci mysql do Array'a, no i korzystac tylko z $tab[1], ale to mi niepotrzebnie wydluzy czas ladowania skryptu i tak dalej. Prosze o pomoc.
rachwal
9.11.2003, 16:07:09
[sql:1:f2bb98f14b]SELECT * FROM tabela ORDER BY cos LIMIT 1,1;[/sql:1:f2bb98f14b]
i to tyle.
regis87
9.11.2003, 17:06:51
Az mi glupio, ze o tym nie pomyslalem:)
Dziekuje za pomoc, pozdrawiam
regis87
9.11.2003, 17:30:52
A teraz mam troche bardziej (moim zdaniem:) zlozony problem - mam rekordy w tabeli:
id,grupa
1,4
2,3
3,2
4,4
5,3
6,4
Teraz chcialbym, zebym posylajac id rekordu, ktoru nalezy do grupy 4 (ma wartosc pola grupa=4), np 1, otrzymal od skryptu id kolejnego rekordu w tabeli posiadajacego taka sama grupe przy sortowaniu ORDER BY id ASC, w tym wypadku jest to rekord o id 4. A jak zrobic cos takiego?
pozdrawiam
adwol
9.11.2003, 18:39:49
Cytat
A teraz mam troche bardziej (moim zdaniem:) zlozony problem
[sql:1:8002aa64ff]select id from tabela where grupa=4 and id>1 order by id limit 1[/sql:1:8002aa64ff]
W miejsce
1 i
4 wstaw sobie odpowiednie wartości
id i
grupy.
regis87
10.11.2003, 13:33:57
Bardzo dziekuje, a teraz ostatnie juz (mam nadzieje) pytanie w tym temacie: czy operator ">" moge uzywac rowniez dla wartosci tekstowych, np. w tabeli jak ponizej:
id,grupa,nazwisko
1,4,'andrzejewski'
2,3,'lutoslawski'
3,4,'orlowski'
4,2,'rudzinski'
5,1,'bialolecki'
6,4,'dlugolecki'
i chcialbym aby zwrocilo mi wartosc pola id z grupa=4 i nastepnego w kolejnosci po tym, ktorego id podaje, przy sortowaniu wedlug pola nazwisko - czyli alfabetycznie? Czy przy zapisie
[sql:1:e9b3a61f12]SELECT id
FROM tabela
WHERE grupa=4 AND nazwisko>'andrzejewski'
ORDER BY nazwisko ASC
LIMIT 1[/sql:1:e9b3a61f12] mysql zwroci mi rekord 6,4,'dlugolecki', czy tez nie mozna uzywac '>' do porownywania 'miejsca' w kolejce dla wartosci tekstowych?
Mam nadzieje ze wylozylem problem dosc jasno:)
pozdrawiam i dziekuje za pomoc
regis87
11.11.2003, 18:32:00
Nie wierze, zeby nikt nie potrafil mi pomoc...
pozdrawiam
PMadej
11.11.2003, 18:41:29
Cytat
Nie wierze, zeby nikt nie potrafil mi pomoc...
pozdrawiam
nie jestes pepkiem swiata zeby ludzie ci od razu odpowiadali ... poczekaj a bedzie odpowiedz ... lub nie
regis87
11.11.2003, 19:05:01
Przepraszam bardzo jezeli urazilem:)
adwol
12.11.2003, 02:22:22
Cytat
czy operator ">" moge uzywac rowniez dla wartosci tekstowych
Tak, aczkolwiek musisz pamiętać, że wtedy jest to sortowane leksykalnie czyli jeśli wystąpią w tekscie cyfry to zostaną one potraktowane jak zwykłe znaki, co spowoduje, że np.
2 będzie większe od
12
Cytat
chcialbym aby zwrocilo mi wartosc pola id z grupa=4 i nastepnego w kolejnosci po tym, ktorego id podaje, przy sortowaniu wedlug pola nazwisko - czyli alfabetycznie? Czy przy zapisie
[sql:1:e50e342d77]SELECT id
FROM tabela
WHERE grupa=4 AND nazwisko>'andrzejewski'
ORDER BY nazwisko ASC
LIMIT 1[/sql:1:e50e342d77] mysql zwroci mi rekord 6,4,'dlugolecki'
Tak.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.