Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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数据_Mysql_Sorting - Fatal编程技术网

如何使用首字母过滤mysql数据

如何使用首字母过滤mysql数据,mysql,sorting,Mysql,Sorting,我有一个要按首字母过滤的查询。像 SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId' 我想用一个字母来过滤这个名字。像用“a”过滤一样,将返回仅以“a”开头的名称。有没有人能给我举个例子,说明在这个查询中添加什么,只需要一个特定的字母就可以得到结果 任何帮助都将不胜感激。谢谢 问题解决了。感谢SergioTulentsev.如果您只想对以%开头的特定行进行排序,请使用下面的查询

我有一个要按首字母过滤的查询。像

SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId'
我想用一个字母来过滤这个名字。像用“a”过滤一样,将返回仅以“a”开头的名称。有没有人能给我举个例子,说明在这个查询中添加什么,只需要一个特定的字母就可以得到结果

任何帮助都将不胜感激。谢谢


问题解决了。感谢SergioTulentsev.

如果您只想对以%开头的特定行进行排序,请使用下面的查询。这肯定会对你有帮助

SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId' ORDER BY CASE WHEN `name` LIKE 'a%' THEN 0 ELSE ~id END ASC

你所说的排序是指:


SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId'
ORDER BY SUBSTRING(name, 0, 1) ASC
或者,如果要筛选,请使用:

SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId' AND name LIKE 'a%' 从'categ'中选择'id','name','uri',其中'active`=1和'parent`='$iParentId' 并命名为“a%”
正如塞尔吉奥的伟大评论所提到的,你所追求的是所谓的过滤。不分类:

SELECT `id`, `name`, `uri` 
FROM `categ` 
WHERE `active` = 1 AND `parent`='$iParentId' AND `name` LIKE 'a%'
试试这个:

SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId' AND `name` LIKE 'a%';

其中。。。而像“a%”这样的名称
“用“a”排序将返回仅以“a”开头的名称-这不是排序,这是筛选。哦!非常感谢,很抱歉,这是过滤。我的错误我会支持SergioTulentsev。请澄清您的问题您希望排序或筛选什么??请更新您的问题和标题,以便看到此问题的人获得相关问题和相关答案。