首页 > 解决方案 > 在mysql select语句中制作一个公共列值作为所有结果的标题

问题描述

我想从 mysql 数据库中检索数据,但我只需要将数据的公共值作为表的所有检索数据示例的标题:
ID | 姓名 | 订购日期 |
1 | 约翰 | 10-07-2019 |
2 | 麦格 | 10-07-2019 |
3 | 艾莉克 | 10-07-2019 |
4 | 戴安娜 | 11-07-2019 |
5 | 硒 | 11-07-2019 |
6 | 杰基 | 12-07-2019 |

所以我希望我的结果看起来像这样

10 - 07- 2019
1. John
2.
Maige 3. Allyc

11 - 07- 2019
4. Diana
5. Selen

12 - 07- 2019
6. Jacky

在此先感谢...

标签: mysqlsortingheading

解决方案


您应该在前端执行此操作,而不是 db-in OO 编程术语,将行视为对象的实例。创建一个完全不同类型的假对象并将它们插入到列表中纯粹是出于演示的原因是一个丑陋的黑客。

SELECT sho FROM
(
  SELECT DISTINCT 0 as ord, orderdate, DATE_FORMAT(orderdate, '%d - %m - %y') as sho FROM orders
  UNION ALL
  SELECT id as ord, orderdate, CONCAT(id, '. ', name) as sho FROM orders
) x
ORDER BY orderdate, ord

啊。因此,我们生成了一些带有 s 格式化日期、日期(作为日期)和 0(低于 id)的假行,并将它们与真实数据日期、id 和 s 格式化文本结合起来。当这批数据(假加真实)按日期排序时,首先排列形成“标题”的假行,然后是数据,然后是下一个标题

请在前端执行此操作


推荐阅读