Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
搜索条件mysql IF(名称=名称,限制1,限制5)_Mysql - Fatal编程技术网

搜索条件mysql IF(名称=名称,限制1,限制5)

搜索条件mysql IF(名称=名称,限制1,限制5),mysql,Mysql,帮助创建搜索条件 SELECT * FROM mlt_adr_city WHERE name LIKE "Text%" AND region_id = 59 AND id <> 0 IF (name = name, LIMIT 1, LIMIT 5) 值字段名称不能重叠。如果值相同,则输出一行或五行。对不起,我英语不好 [摘自评论:] 如果请求没有条件,则返回重复记录的名称。例如,名称相同的City1将返回五行,但id不同 但如果没有匹配项,则显示五条记录 类似City1%显示

帮助创建搜索条件

SELECT *
FROM mlt_adr_city
WHERE name LIKE "Text%" 
AND region_id = 59
AND id <> 0 
IF (name = name, LIMIT 1, LIMIT 5)
值字段名称不能重叠。如果值相同,则输出一行或五行。对不起,我英语不好

[摘自评论:]


如果请求没有条件,则返回重复记录的名称。例如,名称相同的City1将返回五行,但id不同


但如果没有匹配项,则显示五条记录


类似City1%显示的示例搜索记录了三个City1、City1、City1


例2。像City2%这样的搜索显示记录了三个City2、City2、City2_en、City2_rect、City2_les。

不,不可能像您在问题中那样有条件限制声明

如果使用存储过程,可以将参数或局部变量作为限制值,如下所述:

如果您不想使用存储过程,下面是一些sql,如果存在精确的名称匹配,则返回一行;如果存在部分名称匹配,则返回5行:

SELECT * FROM mlt_adr_city
    WHERE
    name = 'Text'
    AND region_id = 59
    AND id <> 0
    LIMIT 1
UNION
SELECT * FROM mlt_adr_city
    WHERE
    name like 'Text%'
    AND region_id = 59
    AND id <> 0
    AND NOT EXISTS (SELECT 1 FROM mlt_adr_city WHERE name = 'Text' AND region_id = 59 AND id <> 0)
    LIMIT 5;
范例

SELECT * FROM mlt_adr_city WHERE name LIKE "Text%"  AND region_id = 59 AND id <> 0 GROUP BY name LIMIT 5

也许你可以举一个例子,说明你要匹配的名称类型,以及你想要的输出类型。你想做什么,这与where条件不同?如果请求没有条件,则重复记录的名称。例如,名称相同的City1将返回五行,但id不同。但如果不匹配,则显示五条记录示例搜索(如City1%)显示三条记录City1、City1、City1谢谢,但这不是我想要的,我无法正确解释。我不知道分组。谢谢大家