我想为字母表中的每个字母返回 1 行。例如,下表从名称 a 到 z。在生产数据库中,我有 1000 个名字。
id| name
1 | amy
2 | anna
3 | barry
4 | blake
5 | baron
6 | charles
我想要一个查询为每个字母返回 1 行。我知道如何使用 UNION
完成此操作,但如何在没有 UNION
的情况下在单个查询中完成此操作?
SELECT * FROM `table` WHERE name LIKE 'a%' LIMIT 1
UNION
SELECT * FROM `table` WHERE name LIKE 'b%' LIMIT 1
UNION
SELECT * FROM `table` WHERE name LIKE 'c%' LIMIT 1
UNION
SELECT * FROM `table` WHERE name LIKE 'd%' LIMIT 1
我期待返回的结果:
[0]=>amy
[1]=>barry
[2]=>charles
最佳答案
关于MySQL 不使用 UNION 从每个字母返回 1 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48490887/