我有一个查询,我想过滤的第一个字母。像如何过滤第一个字母的mysql数据
SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId'
我想要用一个字母过滤名称。比如用“a”过滤它将返回仅以“a”开始的名称。任何人都可以向我展示一个例子,说明在这个查询中要添加什么,以便只用特定的字母来获得结果。
任何帮助将非常感激。谢谢
问题解决了。感谢SergioTulentsev。
我有一个查询,我想过滤的第一个字母。像如何过滤第一个字母的mysql数据
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%'
正如塞尔吉奥的伟大评论中提到的,你似乎被称为过滤之后。不sortering:
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%';
'WHERE ... AND名字LIKE '百分比'' – 2012-03-22 07:49:12
一个 “将返回只启动名称 ”“ 以分类整理”一个“” - 这不是排序,这是过滤。 – 2012-03-22 07:49:21
哦!非常感谢你,并感谢你的过滤。我的错误 – Prashank 2012-03-22 07:52:31