Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie najbardziej pasujących szeregów danych.
eshlox
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 6.09.2009

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


Witam.

Ostatnio tak myślę nad jednym zapytaniem, lub kilkoma.. lub czymkolwiek.. co prawdopodobnie będę potrzebował. Nie mogę jakoś wymyślić nic sensownego. Aczkolwiek, nie jest to chyba proste zadanie ;-)

Powiedzmy, że mamy taką tabelę mysql:

id | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | n

Id standardowo będzie zwiększane o 1 przy dodawaniu nowego szeregu danych, a w komórkach 1,2,3 itd będą wstawiane tylko i wyłącznie cyfry typu INT. Prawdopodobnie przedział od 1 - 9, chociaż myślę, że nie ma to tutaj znaczenia. Jak widać na końcu dałem n, bo z czasem ilość kolumn tabeli może się zwiększać o dalsze, nazwane n+1 i także zawierające INT.
Więc dajmy na to, niech na początku będzie id i 8 kolumn odnośnie danych. (i = id, skróciłem aby "tabela" była równa ;-))

i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
1 | 3 | 3 | 3 | 0 | 1 | 3 | 2 | 1
2 | 2 | 2 | 5 | 1 | 2 | 9 | 5 | 2
3 | 3 | 3 | 3 | 0 | 2 | 4 | 1 | 5
4 | 3 | 3 | 3 | 4 | 1 | 3 | 2 | 0

I teraz główna kwestia. Wybieramy sobie jakiś szereg, np. o id 1 i według niego szukamy n najbardziej pasujących do niego. Czyli tutaj dla przykładu, najwięcej zgadza się z szeregiem 4, bo 75% liczb w kolumnach się pokrywa, później szereg 3 - 50% no i na końcu szereg 2, który ma 0% zgodności. Limit to np. 10 najbardziej trafnych wyników. Wszystko posortowane od najtrafniejszego do najmniej trafnego. I także wynik procentowy względem każdego wyszukanego wyniku. (Wiadomo także, że może się okazać, iż jest więcej szeregów pasujących procentowo.)

Mam nadzieję, że każdy zrozumie o co mi chodzi ;->

Jakby ktoś miał pomysły, jak takie coś uzyskać, to chętnie posłucham ;-)

Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 16:39