gpt4 book ai didi

mysql - 对多列的mysql查询结果进行排序

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:25 25 4
gpt4 key购买 nike

我有一张表格,其中包含允许进入建筑物的人员名单。每个居民可以授予 10 个非居民访问权限。

常驻 guest1 guest2 ... guest10

我想搜索所有客人,然后按字母顺序显示结果。目前我有:

$result = mysql_query("SELECT * FROM residentlist WHERE guest1 LIKE 'searchquery' OR guest2 LIKE 'searchquery' ... OR guest10 LIKE 'searchquery'";

但我最终遇到了一些不像 'searchquery' 的额外访客,所以我需要做更多的 if 检查。

我是 mysql 的新手 - 我是否遗漏了一些简单的东西?

此外,如果更好的话,我愿意重组表格/添加表格。

最佳答案

您应该重组表格。创建一个名为 access 的新表或带有字段的东西 accessId , residentIdguest .

  • accessId是主键,它是 AUTO_INCREMENT INTEGER。
  • residentresidentlist 的外键表。
  • guest是您现在使用 LIKE 条件搜索的任何内容。

因此对于每位居民 10 位客人,您将在 access 中有 10 条记录表。

完成后,您可以使用查询:

SELECT * FROM residentlist LEFT JOIN access ON access.residentId = residentlist.resident WHERE guest LIKE '<search query>';

关于mysql - 对多列的mysql查询结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7048425/

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