gpt4 book ai didi

php - 查询始终返回特定行

转载 作者:行者123 更新时间:2023-11-29 14:43:00 25 4
gpt4 key购买 nike

您能否建议一个始终执行条件的查询。说:

if($country == 'hong-kong')
{
$cond = "AND country = 'china'";
}

$q = "
SELECT
*
FROM
tbl_people
WHERE
region = 'asia'
$cond
ORDER BY RAND()
LIMIT 0,15
";

现在假设$country = 'hong-kong',它总共有 4 个成员。我想知道的是,有什么方法可以让如果 $country = 'hong-kong' 我将在结果集中有 15 个成员,其中包括来自 hong-kong 的 4 个成员> ?

最佳答案

如果我正确理解了这个问题,您需要从更大的集合中随机获得 15 个结果,但您希望确保所有与 country = 'hong-kong' 匹配的结果都包含在这些结果中15.

我认为您需要两个查询,因为第一个查询返回的记录数 (country = 'hong-kong') 将决定您对第二个查询设置的限制。例如:

SELECT 
*
FROM
tbl_people
WHERE
country = 'hong-kong'
ORDER BY RAND()
LIMIT 0,15

然后

SELECT 
*
FROM
tbl_people
WHERE
region = 'asia' AND country <> 'hong-kong'
ORDER BY RAND()
LIMIT 0,X

...其中 X15 - N,其中 N 是第一个查询返回的行数。

当然,您必须以某种随机方式将它们组合起来(除非您希望香港的结果位于列表的顶部/底部/任何位置)。

关于php - 查询始终返回特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7608786/

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