MySQL-根据输入信息匹配到有缘运动员明星

WP主题讨论 WP主题讨论 主题:1013 回复:2239

MySQL-根据输入信息匹配到有缘运动员明星

夜无邪 发布于 2017-02-19 字数 285 浏览 1061 回复 2

有这么一个小应用,用户输入姓名、生日和性别信息,根据一个算法转化,在数据库中能找到一个并且是唯一的运动员明星,运动员的数据会不断增加。请问如何设计数据库和算法,保证
1.每次输入都能查到一个运动员。
2.相同输入数据返回一个唯一的运动员。
3.所有运动员都有被查到的机会。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(2

甜柠檬 2017-09-25 2 楼

没有特殊要求的话这种测验类型的应用基本上就用万能的md5就行了
md5($name.$birth.$sexual)
然后取前几个字节转成整数,取RAND_MAX的余数
运动员入数据库的时候随机为他分配一个随机Id,范围在0 - RAND_MAX之间。然后根据输入的数,在数据库里查找大于输入数值的最小Id,返回这个运动员就行了。
添加进新的运动员之后肯定有一部分用户返回的人选会变,不过只要运动员数量够多,绝大多数用户返回的结果是不会变的。
如果是要找生日、性别最接近的那就是别的算法,不过就不满足另外的条件了。比如2月29号出生的运动员会悲剧。

晚风撩人 2017-09-20 1 楼

我是一个初学者。个人认为应该是这样。
SELECT *
FROM reg
WHERE (uusername LIKE '运动员名%')
查询表中运动员的名字。