我有一个查询,我想用第一个字母过滤。像
SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId'
我希望这个用字母过滤名字。比如用“a”过滤它将返回仅以“a”开头的名称。任何人都可以向我展示一个关于在此查询中添加什么的示例,以便仅使用特定字母获取结果。
非常感谢任何帮助。感谢
问题解决了。感谢SergioTulentsev。
答案 0 :(得分:1)
通过排序,你的意思是:
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%'
答案 1 :(得分:1)
试试这个:
SELECT `id`, `name`, `uri` FROM `categ` WHERE `active` = 1 AND `parent`='$iParentId' AND `name` LIKE 'a%';
答案 2 :(得分:0)
如果您只想对以%开头的特定行进行排序,请使用以下查询。它一定会帮到你。
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
答案 3 :(得分:0)
正如塞尔吉奥的伟大评论所提到的,你似乎追求的是过滤。没有分拣:
SELECT `id`, `name`, `uri`
FROM `categ`
WHERE `active` = 1 AND `parent`='$iParentId' AND `name` LIKE 'a%'