日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql权重怎么配置_mysql如何按权重查询数据啊?

發布時間:2023/12/10 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql权重怎么配置_mysql如何按权重查询数据啊? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

樓上的回答全都會錯意了,題主意思是根據權重設定隨機幾率,例如 A 的權重為10,B 的權重為 5,這個時候隨機出現 A 的幾率要比出現 B 的幾率高。

你可以試試這個備選方案。

就是先取出權重列表再去根據權重隨機出來的那個權重值,根據權重值去庫里再隨機查。

/**

* Roll

*/

if (!function_exists('roll')) {

function roll($data, $key = 'weight')

{

$weight = 0;

$tempData = [];

foreach ($data as $one) {

$weight += $one[$key];

for ($i = 0; $i < $one[$key]; $i++) {

$tempData[] = $one;

}

}

$use = rand(0, $weight - 1);

return $tempData[$use];

}

}

$data = [['weight' => 1],

['weight' => 3],

['weight' => 5],

['weight' => 7],

['weight' => 9]];

$result = roll($data)['weight'];

SELECT * FROM database WHERE id >= (

(SELECT MAX(id) FROM database WHERE b = $result) - (SELECT MIN(id) FROM database WHERE b = $result)

) * RAND() + (SELECT MIN(id) FROM database WHERE b = $result) AND b = $result LIMIT 1

總結

以上是生活随笔為你收集整理的mysql权重怎么配置_mysql如何按权重查询数据啊?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。