我有一个查询,我想按首字母进行筛选。像
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 SUBSTRING(name, 0, 1) ASC
或者,如果你想过滤,那么使用:
SELECT"id"、"name"、"uri"FROM"categor"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%';
正如Sergio的精彩评论所提到的,您所追求的是所谓的过滤。未分拣:
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' ORDER BY CASE WHEN `name` LIKE 'a%' THEN 0 ELSE ~id END ASC