按字母顺序对MYSQL结果进行排序,忽略前缀';';


Alphabetically sort MYSQL result by letter ignoring the prefix 'The '

我可以对整个A-Z排序,它很好,但如果我尝试只按1个字母排序,它就不起作用。。

例如:

"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table ORDER BY title_x ASC"

这很好,并且对结果A-Z进行排序/获取,而不考虑"the"。。但是:

"SELECT *,TRIM(LEADING 'the ' FROM LOWER(title)) AS title_x FROM table WHERE title_x LIKE 'A%' ORDER BY title_x ASC"

不起作用,它只是说"where子句中的未知列'title_x'"

有人能帮我纠正吗?谢谢

更新

对于其他有此问题的人来说,更改having的WHERE可以使其完美工作。

我认为在where子句中使用别名是不可能的。您可以使用子查询或嵌套查询来解决此问题。