![]() |
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 14:31 |