gpt4 book ai didi

sql - MySQL 搜索查询

转载 作者:行者123 更新时间:2023-11-29 02:36:26 25 4
gpt4 key购买 nike

我正在创建一个系统来存储用户统计数据,如下所示:

Table Stats===========id    name-----------1     height2     weight3     eye_colour4     etc...
Table Stat_Options==================id    stat_id    name1     1          170cm2     1          172cm3     1          174cm4     2          60kg5     2          65kg

然后我将 stat_options 的 ID 存储在用户表中,如下所示:

Table User_Stats================id    user_id    height    weight    eye_colour    etc...---------------------------------------------------------1     10         3         5         7

存储 ID 背后的原因是 stat_option 的“名称”始终可以更改,用户记录不需要更改。

但是看着这个,我认为它可能会出现问题,尤其是在搜索时。例如,如果我想搜索两个特定高度之间的所有用户?我想到的一种解决方案是在 Stat_Options 表中插入一个“值”字段,但我仍然不确定这是否可行。有什么建议吗?

最佳答案

此类设计的问题在于您在 Stat_Options 表中混合了定量值(高度、体重)和定性值(eye_colour)。如果您绝对想要这样做,请将定量值和定性值分解为 2 列。

Table Stat_Options==================================id   stat_id   name   value  unit===  =======   =====  =====  =====  1        1   170cm    170     cm  2        1   172cm    172     cm  3        1   174cm    174     cm  4        2    60kg     60     kg  5        2    65kg     65     kg  6        3   black   NULL  black

然后按照其他人的建议,JOIN 表以获取值 BETWEEN x AND y

关于sql - MySQL 搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com