Mysql Random Row Query on Inner Join

2019-08-11 02:02发布

问题:

I have a query and i want random result on advertisement table. Advertise table have own id but when i use RAND(advertise.id) it won't work and i don't know how it will. I am using laravel framework so if possible i can use PHP also to show random advertise result. Here is code can anyone tell me where i use RAND() Mysql function.

SELECT providers.id,
   adv__managements.id AS 'adv_id',
   adv__managements.images,
   adv__managements.categories,
   adv__managements.subcategories,
   adv__managements.title,
   adv__managements.description,
   adv__managements.role,
   adv__managements.plan_id,
   userinformation.user_id,
   userinformation.zip_code,
   plans.active
   FROM userinformation INNER JOIN providers ON userinformation.user_id = providers.user_id
   INNER JOIN adv__managements ON adv__managements.range = providers.range
   INNER JOIN plans ON plans.user_id = userinformation.user_id
   where GetDistance('km'," . doubleval($info->lat) . ", " .  doubleval($info->lon) .", " . doubleval(\Auth::user()->userinfo->latitude) . ", " . doubleval(\Auth::user()->userinfo->longitude) . ") < providers.range AND plans.active = 1 LIMIT 3

And can anyone tell how to convert this query into laravel ?