Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Trochę nietypowe sortowanie bazy
Lopmer
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.09.2009

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


Mam problem, ponieważ chciałbym posortować bazę opisanym niżej sposobem ale nie za bardzo wiem jak się za to zabrać. Bardzo proszę o jakiekolwiek wskazówki.

Załóżmy, że tak wygląda próbka bazy:


Kod
1 kolumna (domena)                    2 kolumna (katalogi)             3 kolumna (wartość1)        4 kolumna (wartość2)

http://costam1.pl                /katalog1/katalog2/                        2                                1
http://costam1.pl                /katalog1/katalog2/strona1.html            5                                2
http://costam1.pl                /katalog1/katalog2/strona2.html            3                                3




Chciałbym uzyskać taki efekt, że jeżeli napotkamy na takie przypadki to byłyby one liczone jako jeden z sumą wszystkich wartości, czyli zwrócony wynik wyglądałby następująco:

Kod
1 kolumna (domena)                    2 kolumna (katalogi)        3 kolumna (wartość1)        4 kolumna (wartość2)

http://costam1.pl                        /katalog1/katalog2/            10                                6


Wynikiem tego zabiegu miałaby być baza oczyszczona z tego typu powtórek.

Czyli byłoby to grupowanie z dokładnością do pierwszego slasha od końca. Z tego względu, że różnego rodzaju przypadków o różnym stopniu zagłębienia w katalogi mamy mnóstwo, więc tak naprawdę tylko ten ostatni slash może być punktem wyjścia.

http://costam.pl/katalog1/katalog2/
nie byłby już tym samym, co
http://costam.pl/katalog1/

Z góry dzięki i pozdrawiam.
Go to the top of the page
+Quote Post
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Wątpię by ktoś to napisał od tak o sobie dla hecy, to jest trochę skomplikowana procedura (pl/sql) + na pewno triger ktory działa na INSERT, ale to nie będzie proste... Szczerzę to sam nie wiem jak by coś takiego miało wyglądać.
Go to the top of the page
+Quote Post
Lopmer
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.09.2009

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


To może chociaż jakieś wskazówki, hasła po których można by szukać.
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja raczej jestem ciekaw czego innego... Co miałaby zwrócić baza w przypadku innej domeny lub o większej różnicy w stopniu zagłębienia.
Innymi słowy co miałoby być wynikiem po dodaniu do tabeli rekordów:
Kod
http://costam2.pl                /katalog1/katalog2/                        2                                1

lub
Kod
http://costam1.pl                /katalog1/                        2                                1

Bo myślę, że w przypadku pierwszym pojawiłby się w wyniku nowy wiersz (zgaduję) i tutaj GROUP BY kolumna1 to by załatwiało.
Z kolei w przypadku 2 nie mam pojęcia... Część wspólna tych wszystkich ścieżek? Ale także tylko zgaduję jak Ty to widzisz.
Bo pozostałe 2 to banał. Zwykłe sum(kolumna3) i sum(kolumna4). Dwie pierwsze natomiast nie wyjaśniłeś co miały by zwracać i czy tylko 1 rekord czy może więcej. A jesli więcej to w jakim formacie byłaby wartość tej kolumny?

Ten post edytował thek 4.09.2009, 11:58:23
Go to the top of the page
+Quote Post
Lopmer
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.09.2009

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


thek ->

Przypadek1: Skoro domena jest inna -> po prostu nowy wiersz.

Przypadek 2: Nie wiem czy dobrze Cie zrozumiałem, ale wg mnie tak:

http://costam1.pl/katalog1/ (stopien zagłębienia = 1) bedzie czymś kompletnie różnym od http://costam1.pl/katalog1/katalog2/ (stopien zaglebienia = 2) i traktujemy je jako odmienne i tutaj nie robimy nic - ten wiersz nie podlega sortowaniu jeśli ma inny stopień zagłębienia. To będą 2 różne wiersze w tabeli.

Jeśli chodzi o przykładowy przypadek który napisałem w 1 poście to zwrócony miałby zostać jeden rekord.
Go to the top of the page
+Quote Post
cojack
post
Post #6





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Lopmer zapraszam na strone depesz.com, kolega zna się na tych rzeczach, może jak się z nim dogadasz to Ci napisze coś takiego.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 12:46