MySQL : How to code query

标签 mysql

我有 2 个表 clientsgrades,其中 clients 有一个 grade 列,索引从 1 到 10 . 这些索引对应于 grades 表中的 ID(当然)。假设客户在 clients.grade 列中的索引为 1、5、8,而我想从 grades 表中的这些行中获取 *。

我的第一个方法是在 client 表中使用类型为 char(20) 的 grade 字段,并用逗号分隔的索引填充它,例如 1,5,8或其他号码。然后从 client 表中的一个客户端读取这些值,我分解 (PHP) 结果并获得一个包含 3 个(或更多)单个值的数组。然后在下面的查询中,我选择了 grade 表中的所有行。

现在一个问题是使用字符字段还是枚举字段,另一个(一般)问题是如何对整个任务进行简单、巧妙的查询。

我还没有编码。 grades 表将有最大值。 10 行,其中 client 表有大约 2.000 行增长到最大值。 5.000 行。我希望我能描述我的方法可以理解。

欢迎提出建议

最佳答案

grade 列拆分到一个包含 clientIdgrade 的新表(client_grade?),并有每个 client 的多个记录。然后可以使用 JOINclients 检索客户的成绩到 client 上的 clients_grade 表字段

表中的每个字段都应该包含一条信息,逗号分隔值会导致额外的处理。如果您想找出谁获得了特定的成绩等,使用单独的表格也会对您有所帮助

关于MySQL : How to code query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39387386/

相关文章:

mysql - Percona MySQL Server 5.7.23 是否支持多源复制?

php - 如何同步带前缀的mysql表字段

php - Mysql "UPDATE"没有做任何事情

mysql - SQL:如何根据动态日期计算进行查询?

mysql - 设计复杂的 SQL 结构

php - 关系模型 Laravel 5 上的条件

php - 找不到 mysql 值

php - 我的 PHP 脚本仅从表中返回一行

php - 如何在 mysql php 中使用 OR 语句

mysql - 添加多种类型的货币,然后获取每种类型的总计