![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 26.09.2005 Ostrzeżenie: (0%)
|
Witam Was,
Może jest to banalnie proste, ale siedzę od wczoraj i już ledwo widzę na oczy i już nie jestem w stanie sam sobie pomóc. Pytanie mam następujące: Jak wyciągnąć największą wartość kolumny z danego wiersza? Mam wiersz: id, pole1=2, pole2=5, pole3=4, pole4=10, pole5=20 . Tych kolumn jest oczywiście więcej, ale to nie ma znaczenia. Chciałbym aby zapytanie mysql zwróciło mi największą wartość czyli informację, że pole5 jest największe. Jak to zrobić? Bardzo tego potrzebuję ponieważ mam bazę filmów, każdy z nich oceniony w wielu elementach i potrzebuje nawiększy element aby informować, że ten film to zdaniem ludzi np. komedia. Będę bardzo wdzięczny za pomoc. pozdrawiam, Konrad |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 26.09.2005 Ostrzeżenie: (0%)
|
Dziękuje za odpowiedź i pomoc, ale nie dokładnie o to mi chodziło.
GREATEST zwraca mi wartość danego pola - w moim przypadku wynik zapytania to 20, ale nadal nie wiem, które pole ma te wartość a jest mi to niezbędne. Są jakieś inne sposoby. Ważne jest dla mnie aby wynikiem zapytania była nazwa kolumny/pola z największą wartością a nie sama wartość. Nikt nie jest w stanie mi pomóc? |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 26.09.2005 Ostrzeżenie: (0%)
|
Też nie o to chodzi (albo coś źle robię). W tym wypadku pól wśród których szukam maxa jest 5 więc nie da się w ten sposób z nich wybrać. Na chłopski rozum powinno być tak, że każę mu z wiersza o id=1 pobrać kolumny pole1, pole2, pole3, pole4, pole5 a następnie z tych kolumn wybrać tę o największej wartości i wypisać najlepiej : pole4=>20 I za nic nie wiem jak to zrobić. |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Przepraszam, nie doczytałem dokładnie i myślałem że mówisz o rekordach.
Mam ale hardcore (dla 3 pol)
(IMG:style_emoticons/default/smile.gif) A nie prosciej ci w mysql pobrać te max i w php porównac? zakladam ze i tak to bedziesz w php obrabiał |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 26.09.2005 Ostrzeżenie: (0%)
|
No faktycznie hardcore bo tych pól mam więcej znacznie (IMG:style_emoticons/default/smile.gif)
Myślałem, że da się to jakoś łatwo w mysql załatwić, ale nie dałem rady. Z pomocą oczywiście przyszło PHP i tablice - w skrócie - najpierw max() a potem przyrównanie każdego pola do tego maxa. W ten sposób wyciągam nazwę i wartość. Dziękuję Wam za pomoc i idę spać (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
A nie lepiej byłoby tu skorzystać z modelu relacyjnego, zamiast upychać w kolumnach?
|
|
|
|
![]() ![]() |
|
Aktualny czas: 4.01.2026 - 17:36 |