Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> największa suma z kolumny, chyba nie do zrobienia
grzegorz_g
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


ma oto taki rekord z bazy danych:

1 1189373400 5||2||4||
2 1189373400 9||4||1||

w jaki najprostrzy sposób zsumować wartości (5+2+4) i (9+4+1) ?


szukałem w manualu mysql ale chyba bez wrzucenia do tablicy php nie da rady.

Proszę o Wasze sugestie.


--------------------
www.wettradar.com
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. SELECT (kolumna1 + kolumna2 + kolumna3) AS suma FROM tabela

thumbsupsmileyanim.gif yahoo.gif

PS: faktycznie nie spojrzałem na to w ten sposób biggrin.gif no ale może rozwiązanie się komuś przyda winksmiley.jpg

Ten post edytował phpion.com 12.09.2007, 21:47:17
Go to the top of the page
+Quote Post
legorek
post
Post #3





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Mysle, ze mój poprzednik, nie zrozumiał w czym problem smile.gif Jak rozumiem kłopotem jest format kolumny (tekst). Najlepiej byłoby przeprojektować bazę. Jeśli już nie masz wyboru, możesz użyć takiego potworka:

  1. SELECT @l1:=LOCATE('||', liczby), @l2:=LOCATE('||', liczby, @l1+1), @l3:=LOCATE('||', liczby, @l2+1), (SUBSTRING(liczby,1,@l1-1)+SUBSTRING(liczby,@l1+2,@l2-@l1-2)+SUBSTRING(liczby,@l2+2,@l3-@l2-2)) AS `suma` FROM tabela ORDER BY `suma` DESC LIMIT 1 ;


Lub napisać sobie funkcje w mysql'u. Tylko, że to niestety jest woooooolne.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 05:58