![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
potrzebuje zrobic system reklam, w ktorym beda losowane reklamy z danego miejsca
system musi losowac czesciej reklamy te, ktore maja wiecej odslon jeszcze do wykorzystania, czyli jakby wieksze ratio ( current_views / total_views) macie jakieś pomysły jak wydajnie to zrobić? chciałbym to zrobić za pomocą jednego zapytania do bazy -------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Pobiera 20 najwyzej ratowanych + 10 losowych i losuje z nich 15 do wyniku ![]() Nie sprawdzałem czy składnia odpowiednia, ale powinno hulać. -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@cudny, brakuje jeszcze update, które by odejmowało liczbę wyświetleń która została, lub dodawało kolejne, w zależności jak kto woli to wykonać.
BTW to że zapytanie będzie w jednej linijce, wcale nie oznacza że jest to jedno zapytanie. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
To była odpowiedź ogólna, czy będzie update czy nie to nie mój interes
![]() A co do pytania w wielu linijkach, można by się sprzeczać bo wykorzystujesz jedną instancję i parser mysql wykorzystywany jest raz do całości zapytania ![]() -------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
Dostaje taki błąd:
Incorrect usage of UNION and ORDER BY -------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
(Zakłada, że masz tabele `reklamy` z polami `id` i `odslon` zawierającym liczbę pozostałych odsłon.) Dla przykładu: Gdy reklama 1 ma 10 odsłon, reklama 2 ma 3 odsłony, a reklama 3 ma 100 odsłon, to szansa jest jak 10:3:100. Na koniec dostajesz id wylosowanej reklamy (zmień sobie to ostatnie zapytanie na takie z WHERE id = @id). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 23:10 |