![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 13.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
powiedzmy, że mam kolumnę points. W php losuję sobię jakąś cyfrę nie przekraczającą sumy wartości w tej kolumnie. Teraz chciałbym pobrać taki rekord z bazy danych, w którym suma poprzednich rekordów była mniejsza/równa wylosowanej wartości oraz suma poprzednich rekordów wraz z obecnym rekordem który sprawdzamy była większa/równa wylosowanej wartości. Na przykładzie: mamy takie wartości w kolumnie points w kolejności w jakiej istnieją w bazie 15 10 20 30 10 PHP wylosowało 47 a więc powinniśmy wybrać rekord z wartością pkt 30, bo suma poprzednich wartości (15+10+20=45) jest mniejsza/równa 47 oraz suma poprzednich wartości wraz z tym rekordem (15+10+20+40=75) jest większa/równa. Jak to zrobić? Zależy mi na czystym i szybkim SQLu, więc dobrze by było, aby przy każdym rekordzie nie sumowało od nowa tych wszystkich rekordów lecz pamiętało poprzednie sumowanie i tylko dodało obecny rekord. Zastanawiałem się jak to zrobić w SQLowskiej funkcji, ale jakoś nie mogłem znaleźć w jaki sposób zrobić funkcję, która pobierała by mi po jednym rekordzie z bazy danych... Mając coś takiego, rozwiązanie byłoby dziecinnie proste. Ah, i z góry mówię - tego inaczej nie da rady rozwiązać, bo jest to próba optymalizacji losowania wagowego... Z góry dziękuję za pomoc. Ten post edytował Snowak 4.03.2008, 16:14:58 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 2 Dołączył: 10.07.2007 Ostrzeżenie: (10%) ![]() ![]() |
Zaraz dam edita jak coś wymyślę. Robie na localu w8
![]() -------------------- aerobiczna 6 Weidera - forum o zdrowiu - firmy zajmujące się reklamą z całej Polski - dodaj swój wpis za darmo!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 23:18 |