![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wykonuję wyszukiwanie MSQL: SELECT aaa,bbb,ccc FROM .....
Potrzebuję z otrzymanych wyników uzyskać wartość najmniejszą dla pola 'aaa' Nie muszę robić tego w pytaniu MSQLa wystarczy operacja na tabeli wyników. Ale jest już pogubiony po godzinach szukania na forach. Problem w tym że de facto potrzebuję 4 takie wyniki - tzn MIN(aaa) MAX(aaa) MIN(bbb) i MAX(bbb) - potrzebuję tylko ich wartości - nic więcej, nie muszę ich łączyć z innymi danymi z tabeli, ani z sobą - tylko 4 liczby. Nie ma jakiejś takiej funkcji jak: $minaaa = MIN(array['aaa']) ? -------------------- Genealogia Polaków
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki ale jak mam doprowadzić do liczby z pytania sql
mam teraz $tab = mysql_query("SELECT * FROM `tabela` ...... $array['aaa'] = array($tab); $minaaa = min($array['aaa']); i wychodzi rezultat: Resource id #5 powinna oczywiście wyjść liczba - czyli nie określenie który rekord, ale jego wartość ps. nie mogę tego robić przez MIN(aaa) AS ... MAX(aaa) AS ... bo składnia SQL nie pozwala na jednoczesne użycie MIN i MAX w jednym pytaniu. Ten post edytował Dopler 27.02.2013, 02:47:57 -------------------- Genealogia Polaków
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ps. nie mogę tego robić przez MIN(aaa) AS ... MAX(aaa) AS ... bo składnia SQL nie pozwala na jednoczesne użycie MIN i MAX w jednym pytaniu. Nie pisz takich rzeczy bo jeszcze ktoś w to uwierzy, wszystkich.
Ten post edytował skowron-line 27.02.2013, 08:15:51 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
@Dopler nie potrafisz poprawnie pobrać danych z bazy a wiesz(domniemywasz), że składnia języka nie pozwala na użycie min i max w tym samym zapytaniu... ?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak - nie potrafię poprawnie użyć - i dlatego się pytam
Podobny temat jest tutaj http://forum.php.pl/index.php?showtopic=96588 i jest stwierdzone że należy użyć UNION jeśli się chce w jednym zapytaniu użyć wyszukania wszystkich o określonych parametrach i jednocześnie minimalnej i maksymalnej - albo dwóch zapytań. Ja mam podobnie potrzebuję wypisać wszystkie rekordy które mają określony parametr i jednocześnie znaleźć z tych znalezionych MIN dla jednego pola - nie ze wszystkich, tylko z tych wyszukanych. Ale poradziłem sobie dzięki Waszej pomocy - tylko że był jeden błąd - no i uwzględniłem dwa zapytania (jedno zapytanie daje rezultat pusty) Podaję działające rozwiązanie
Ten post edytował Dopler 27.02.2013, 12:45:41 -------------------- Genealogia Polaków
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Po co pobierasz wszystkie rekordy gdy potrzebujesz tylko 2 wartości.
Ten post edytował CuteOne 27.02.2013, 15:29:51 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie potrzebuję do czego innego - te wartości MIN i MAX to tylko część operacji na tych rekordach.
Generalnie jest to zbiór punktów na mapie. Całość operacji polega na wyszukaniu i pokazaniu punktów na mapie wg szukanego słowa. Ale jednocześnie chcę ustawić - w zależności od tego wyboru odpowiedni zoom. Tak więc biorę najniższą i najwyższą wartość z tabeli szerokości obliczam różnicę i po przemnożeniu przez odpowiednią liczbę uzyskuję poziom zooma. Dla użytkownika ma to być niezauważalne. Jak wybiera punkty z jednego miasta to nie powinien dostać mapy całego świata. I na odwrót. Dlatego potrzebny jest odpowiedni zoom. Oczywiście muszę dokonać jeszcze takiej samej operacji na długości geograficznej i porównać obie wybierając mniejszą. Jeśli ktoś ma pomysł jak to zrobić łatwiej - to będę wdzięczny. ps. CuteOne - po przeczytaniu jeszcze raz widzę że chodziło Ci o inne "wszystko" - dzięki za pomoc! ![]() Ten post edytował Dopler 27.02.2013, 18:09:39 -------------------- Genealogia Polaków
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 03:31 |