mysql - 在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
在此先感谢...
解决方案
您应该在前端执行此操作,而不是 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 格式化文本结合起来。当这批数据(假加真实)按日期排序时,首先排列形成“标题”的假行,然后是数据,然后是下一个标题
请在前端执行此操作
推荐阅读
- reactjs - 在 React JS 中将变量从一个文件移动到另一个文件
- oracle - 如果父表中有新值,则触发更新或插入其他表的行/值
- python - make decorator 只有 Content 的创建者可以操作它
- android - 使用导航组件加载片段后如何杀死片段
- php - 删除 WooCommerce 购物车条件(产品的最小数量)
- javascript - 拆分字符串和排序的时间复杂度
- android - 设计 Android 客户端-服务器应用程序的最佳方法是什么
- javascript - 如何在 JavaScript 中以最短的方式创建 { 0: false, 1: false, 2: false, ..., 99: false }(最好使用 Lodash?)
- jenkins - 使用 anyof 的 Jenkins 管道
- sql - 雪花中的 SELECT DISTINCT 或 GROUP BY 更快吗?