SQL til random banner der favoriserer lavere hitantal
Jeg har den her query der graver ned i min banner database og returnerer ét random banner.mysql_query(\"SELECT BannerID, Banner, URL, ((BannerID*0)+rand()) AS RandomID FROM $db_table WHERE (((UserID=\'$ID\')AND(Size=\'$Size\'))AND((CountDisplay < MaxDisplay)OR(MaxDisplay = -1))) ORDER BY RandomID LIMIT 0, 1\")
Nu er det blot at tilfældigheden spiller et puds og nogle bannere får flere hits end andre... Jeg vil derfor gerne favorisere de bannere der har en lavere CountDisplay men ikke altid den mindste... (ved tilføjelse af nyt banner vil den favoriseres for meget) men en der har CountDisplay = 10 skal altså have større chance end CountDisplay = 50000.
Hvordan er det lige man udtrykker det i et enkelt SQL udtræk og kan det lade sig gøre ?
Byg meget gerne videre på mit ovenstående eksempel.
