![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Po prostu jestem w szoku, buduję najprostsze zapytanie w którym chce użyć LAST lub FIRST i nie działa. Wersje serwera nowe, spokojnie powinno chodzić a tu zonk. SELECT FIRST(galleries.id) FROM galleries za to np.: SELECT AVG(galleries.id) FROM galleries śmiga aż miło. Ma ktoś jakiś pomysł? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
(IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) A skąd Ty wytrzasnąłeś taką funkcję agregującą jak FIRST() ? Nie ma czegoś takiego... MAX, MIN, AVG, ale FIRST? (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Znajdź mi to w manualu do MySQL, bo to, co podałeś to jakiś Oracle jest (nawet nie napisali) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W MySQL używa się MAX/MIN i ORDER BY.
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
A ty tutaj: http://bugs.mysql.com/bug.php?id=2020 Cytat I wonder why there is no FIRST and LAST aggregate functions in MySql. Somebody told me
this impossible because MySql save data in B-tree and returned set is unordered. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 2 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Serwera OK, ale czy mysql nie jest stare ?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
no dobra, to teraz taka sytuacja:
jak za pomocą np. max wyciągnąć ostatnio dodany wierz na podstawie daty i czasu które są zawarte w dwóch różnych kolumnach? nie da się przecież do max wsadzić dwóch argumentów (w moim przypadku date and time) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
jak za pomocą np. max wyciągnąć ostatnio dodany wierz na podstawie daty i czasu które są zawarte w dwóch różnych kolumnach? Jeśli trzymasz datę w osobnym polu, a godzinę w osobnym, to najpierw polecam jakiś najprostszy kurs projektowania baz danych - nawet pojedynczych tabel.Jeśli masz np. timestamp/date w polu, to robisz proste: i już masz najświeższy wpis. Wariant z dwoma polami na datę i godzinę uznam za żart. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie będę teraz przebudowywał komuś całej bazy bo to po prostu nie ma sensu.
A kolega zamiast żartować zastanowił by się poważnie nad rozwiązaniem problemu. Tym bardziej, że przykład który podałem jest tylko podzapytaniem grubszego selecta. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W takim razie na pewno masz jakieś ID auto increment. Jeśli nie, to dodanie takiego pola nie zmieni Ci nic w bazie danych i w zapytaniach. Z każdym dodaniem nowego rekordu ID będzie zwiększane o 1, więc znalezienie najnowszego wpisu ograniczy się do znalezienia największego ID.
Dużo masz wpisów w tej tabeli? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
ponad 100 tysięcy,
z id była by prosta sprawa, zresztą ono już tam jest ale oprócz sortowania ja chcę jeszcze wypisać tą datę i czas z tabeli a tu już jest problem. Do tej pory było to realizowane osobnym zapytaniem w pętli php. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 16:13 |