我正在创建一个预订日记,在其中我需要显示客户的信息,预订状态和说明预订日记。数据库就像
id | BookingRef | CusotmerName | Status | InDate | InTime | BookingDate | Details |我想显示信息的上升顺序的时间,但需要群它的日期。例如,如果记录类似于
id | BookingRef | CusotmerName | Status | InDate | InTime | BookingDate | Details |
--------------------------------------------------------------------------------------
1 | 4656AB | John Smith | Open | 17-03-2019 | 08:30 | 16-03-2019 14:30 | Want to check my glasses
2 | 4554AB | Rick Ronald | Open | 17-03-2019 |08:55 | 16-03-2019 14:30 | Want to check my glasses
3 | 4434AB | Serra Willa | Open | 17-03-2019 |10:05 | 16-03-2019 14:30 | Want to check my glasses
4 | 4954AB | Jay Banker | Open | 18-03-2019 |09:25 | 16-03-2019 14:30 | Want to check my glasses
5 | 4154AB | Damien Baker | Open | 19-03-2019 |11:55 | 16-03-2019 14:30 | Want to check my glasses这些数据应该显示如下
17-03-2019
John Smith | 08:30 | Want to check my glasses | Open
Rick Ronald |08:55 | Want to check my glasses | Open
Serra Willa |10:05 | Want to check my glasses | Open
18-03-2019
Jay Banker | 09:25 | Want to check my glasses | Open
19-03-2019
Damien Baker |11:55 | Want to check my glasses | Open我的查询将提取数据,但我需要将其与InDate进行分组,因此我使用了:
select *
from appointments ASC InDate; 这将生成以下错误:
select *
from appointments
GROUP BY InDate; 错误:
mysqli_query():(42000/1055):SELECT list的表达式#1不在GROUP子句中,而是包含非聚合列'appdb.appointments.id‘,它在功能上不依赖GROUP BY子句中的列;这与sql_mode=only_full_group_by不兼容
是否有任何建议,我如何才能达到我想要的结果?
发布于 2019-03-17 12:43:04
这太长了,不能发表评论。
SQL结果集--类似于SQL表--由列和行组成。每一行都有相同的列集。在使用SQL时,这是一个非常重要的原则。
您想要的结果集似乎有两种类型的行。一个有一个日期,另一个有很多列。这样的结构,不能用SQL返回。它只是超出了语言的界限。比如说,用Python来打扫浴室。
您可以通过将每一行转换为单个字符串或将日期放在CustomerName列中并将其余列保留为空来关闭。不过,这些都是黑客。以您想要的格式获取数据的更好方法是在应用层进行数据处理。
https://stackoverflow.com/questions/55205469
复制相似问题