我有这个sql查询(如下),它工作得很好,但我需要修改它,只选择第一个字符为$a的记录。我试过一些类似于a%的变化,但运气不好。我处境的症结似乎是化名。如果在订单前使用WHERE name,比如'A%',则会出错。这似乎是个合乎逻辑的地方。有什么建议吗?
SELECT
IF(company_name <> '', company_name, PC_last_name) AS name,
customer_id AS id,
company_name AS cn,
PC_first_name AS pcf,
PC_last_name AS pcl,
primary_phone
FROM sales_customer
ORDER BY name
最佳答案
我认为您不能在WHERE
上使用别名进行比较。试试这个:
SELECT
IF(company_name <> '', company_name, PC_last_name) AS name,
customer_id AS id,
company_name AS cn,
PC_first_name AS pcf,
PC_last_name AS pcl,
primary_phone
FROM sales_customer
WHERE IF(company_name <> '', company_name, PC_last_name) LIKE 'A%'
ORDER BY name
关于mysql - MYSQL-按首字母排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9485176/