mysql-如果表中有任何匹配项,则选择表的第一行

超级凯拉德

如果表X的任意行中有匹配项,如何返回表X的第一行?在foreach循环中,我在下面有以下查询。

$sql_string="SELECT id,keyword_tags,topic_name,contents,
            MATCH(keyword_tags) AGAINST ('$keysearch' IN BOOLEAN MODE) AS score1,
            MATCH(topic_name) AGAINST ('$keysearch' IN BOOLEAN MODE) AS score2,
            MATCH(contents) AGAINST ('$keysearch' IN BOOLEAN MODE) AS score3
            FROM ".$table_get." WHERE
            (MATCH(keyword_tags) AGAINST ('$keysearch' IN BOOLEAN MODE) OR
            MATCH(topic_name) AGAINST ('$keysearch' IN BOOLEAN MODE) OR
            MATCH(contents) AGAINST ('$keysearch' IN BOOLEAN MODE))
            AND id='1'
            ORDER BY score1 DESC, score2 DESC, score3 DESC";

如果表中有任何匹配项,是否有任何想法如何返回id ='1'的行?

食人鱼

如果表X的任意行中有匹配项,如何返回表X的第一行?

SQL标准EXISTS (subquery)构造可以帮助:

SELECT ...
  FROM X
 WHERE id = 1                -- our "first" row only
       AND
       EXISTS (SELECT *      -- only if there EXISTS a MATCH anywhere in table
                 FROM X
                WHERE MATCH(field1) AGAINST ('search_val' IN BOOLEAN MODE)
                      OR
                      MATCH(field2) AGAINST ('search_val' IN BOOLEAN MODE)
                      ...
                      MATCH(fieldN) AGAINST ('search_val' IN BOOLEAN MODE));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL选择具有匹配值的第一行之后的所有行

来自分类Dev

mySql:如何选择表中的第一行或第二行?

来自分类Dev

如果表按日期排序,如何在MySQL的特定行之前选择一行?

来自分类Dev

MySQL:如果有任何行匹配,则选择组

来自分类Dev

MySQL JOIN:如果bool列为1,则选择一行;否则,选择第一行

来自分类Dev

MySQL查询仅获取第一行,而不是表中的所有行

来自分类Dev

MySQL从左表返回所有记录,但右表中有匹配项的记录除外

来自分类Dev

将表 A 的第一行与表 B 的第一行连接起来,没有公共标识符(对于所有行)。mysql

来自分类Dev

如果 JOIN 表中的一行不存在,则没有回显(MySQL)

来自分类Dev

MySQL-选择查询与联结表到一行

来自分类Dev

为mysql中第一个表中的每一行从另一个表中选择相应的行

来自分类Dev

mysql加入表并接收一行

来自分类Dev

MySQL选择不同的ID并仅选择第一行

来自分类Dev

MySQL选择不同的ID并仅选择第一行

来自分类Dev

MYSQL查询具有设置条件的表,如果满足第二个条件,则从另一个表中获取一行并继续

来自分类Dev

如何获取用户已保存在php-mysql中的表的第一行

来自分类Dev

如果找不到与订单的行,mysql选择一行

来自分类Dev

如果找不到与订单的行,mysql选择一行

来自分类Dev

MySql-当一行与结果匹配时,选择具有相同字段的所有记录

来自分类Dev

MySQL-如何从一个表的一行中仅选择两列

来自分类Dev

MySQL 连接 - 表 A 的所有行都应与表 B 的每一行连接

来自分类Dev

MYSQL:左仅连接第一行或选择不同

来自分类Dev

MYSQL 同一行中有多个值

来自分类Dev

MySQL-如果在另一个表上匹配则从一个表中排除所有行

来自分类Dev

如果至少一行与MySQL中的条件匹配,则检索所有组记录

来自分类Dev

MySQL选择行与另一个表中的两个匹配的联接行

来自分类Dev

MySQL从多个表中选择+其他地方的最后一行

来自分类Dev

MySQL从表中的用户列表中选择每个用户的最后一行

来自分类Dev

选择查询到表的最后一行在mysql中给出错误的结果

Related 相关文章

  1. 1

    MySQL选择具有匹配值的第一行之后的所有行

  2. 2

    mySql:如何选择表中的第一行或第二行?

  3. 3

    如果表按日期排序,如何在MySQL的特定行之前选择一行?

  4. 4

    MySQL:如果有任何行匹配,则选择组

  5. 5

    MySQL JOIN:如果bool列为1,则选择一行;否则,选择第一行

  6. 6

    MySQL查询仅获取第一行,而不是表中的所有行

  7. 7

    MySQL从左表返回所有记录,但右表中有匹配项的记录除外

  8. 8

    将表 A 的第一行与表 B 的第一行连接起来,没有公共标识符(对于所有行)。mysql

  9. 9

    如果 JOIN 表中的一行不存在,则没有回显(MySQL)

  10. 10

    MySQL-选择查询与联结表到一行

  11. 11

    为mysql中第一个表中的每一行从另一个表中选择相应的行

  12. 12

    mysql加入表并接收一行

  13. 13

    MySQL选择不同的ID并仅选择第一行

  14. 14

    MySQL选择不同的ID并仅选择第一行

  15. 15

    MYSQL查询具有设置条件的表,如果满足第二个条件,则从另一个表中获取一行并继续

  16. 16

    如何获取用户已保存在php-mysql中的表的第一行

  17. 17

    如果找不到与订单的行,mysql选择一行

  18. 18

    如果找不到与订单的行,mysql选择一行

  19. 19

    MySql-当一行与结果匹配时,选择具有相同字段的所有记录

  20. 20

    MySQL-如何从一个表的一行中仅选择两列

  21. 21

    MySQL 连接 - 表 A 的所有行都应与表 B 的每一行连接

  22. 22

    MYSQL:左仅连接第一行或选择不同

  23. 23

    MYSQL 同一行中有多个值

  24. 24

    MySQL-如果在另一个表上匹配则从一个表中排除所有行

  25. 25

    如果至少一行与MySQL中的条件匹配,则检索所有组记录

  26. 26

    MySQL选择行与另一个表中的两个匹配的联接行

  27. 27

    MySQL从多个表中选择+其他地方的最后一行

  28. 28

    MySQL从表中的用户列表中选择每个用户的最后一行

  29. 29

    选择查询到表的最后一行在mysql中给出错误的结果

热门标签

归档