gpt4 book ai didi

Mysql 得到在多个列上有更多匹配的结果

转载 作者:行者123 更新时间:2023-11-29 05:58:10 25 4
gpt4 key购买 nike

我有一个这样的表:

vehicle   colour    animal    softdrink    
car red snake cola
jeep blue dog pepsi

现在我将传递给查询这些参数:

jeep   blue   snake  pepsi

我如何创建一个查询,该查询按与我的参数相同的列数的顺序返回行?

在这个例子中,第二行必须回到第一行,因为 3 列是相同的

最佳答案

假设参数适用于每一列,你可以这样做:

select t.*
from t
order by ( (vehicle = @vehicle) +
(colour = @colour) +
(animal = @animal) +
(softdrink = @softdrink)
) desc;

这使用了一种方便的 MySQL 速记,其中 bool 值被视为数字上下文中的数字。在其他数据库中,您需要使用显式 case 表达式。

关于Mysql 得到在多个列上有更多匹配的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47440237/

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