php - A-G、H-P、Q-Z之间如何拉取显示记录

标签 php mysql

我想查询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/

相关文章:

php - 获取当前的 ISO8601 日期/时间戳

php - laravel save() 被 "Integrity constraint violation"阻塞 - 所有键都设置正确

mysql - Spring Boot BCryptPasswordEncoder 编码的密码看起来不像 BCrypt

php - 运行一个函数,数据库中存储的时间戳是上周的

mySQL innodb_flush_method 是只读变量

mysql - 如何从数据库中获取唯一记录?

php - 使用 digitalocean 伪造 mysqldump 命令访问被拒绝

php - 如何让 Amazon s3 PHP SDK 工作?

php - 正确的 PrettyPhoto rel 属性?

php - 如何处理数据库中项目列表的 "order"(php)