我想查询mysql数据库中的一个表,并以这样的列表格式显示结果:
A - G、H-p、Q-z
因此,所有名称首字母以 A 到 G 开头的结果将显示在 A - G 下,依此类推。
在 php 中执行此操作的最佳方法是什么?这一切都可以在查询本身中完成吗?或者我必须在 php.ini 文件中对它进行排序吗?
有类似的例子吗?
最佳答案
你可以在 SQL 中完成:
SELECT * FROM table WHERE name < 'H';
SELECT * FROM table WHERE name >= 'H' AND name < 'P';
SELECT * FROM table WHERE name >= 'P';
或者,在一个查询中,
SELECT *,
CASE
WHEN name < 'H' THEN 'A-G'
WHEN name >= 'H' AND name < 'P' THEN 'H-P'
ELSE 'Q-Z'
END AS category
FROM table ORDER BY name;
关于php - A-G、H-P、Q-Z之间如何拉取显示记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8270878/