gpt4 book ai didi

php - 当使用 OR 给出两个条件时,如何在 MYSQL 中设置条件的优先级?

转载 作者:行者123 更新时间:2023-11-29 01:09:47 25 4
gpt4 key购买 nike

我有以下代码:

  $sqlquery1 = "SELECT * 
FROM item
WHERE item.title LIKE '%abc%'
OR item.idescription LIKE '%abc%'";

这运行得很好。

唯一的问题是我想先显示第一个 OR 条件 (item.title) 的结果,然后再显示下一个条件。

Eg of current output:

题目:代数
描述:abc inc

标题:ABC
描述:dsdsinc

标题:AlABC广告
描述:sds inc

Eg of Desired output:

标题:ABC
描述:dsdsinc

标题:AlABC广告
描述:sds inc

题目:代数
描述:abc inc

最佳答案

如果您希望以特定顺序返回行,请添加 ORDER BY 子句。

为了满足规定的规范,这就足够了:

 ORDER BY item.title LIKE '%abc%' DESC

这是可行的,因为 MySQL 计算 bool 表达式并将结果作为整数返回:TRUE 返回 1,FALSE 返回 0,NULL 或未知返回 NULL。我们可以通过一个简单的测试来证明这一点,例如

SELECT 'abc' LIKE '%abc%'
, 'foo' LIKE '%abc%'
, NULL LIKE '%abc%'

并且看到 MySQL 分别返回 1、0 和 NULL。

就我个人而言,我更喜欢在 ORDER BY 中使用更多表达式来使结果更具确定性,从而保证以可预测和可重复的顺序返回行。

关于php - 当使用 OR 给出两个条件时,如何在 MYSQL 中设置条件的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35875943/

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