当前位置:  开发笔记 > 编程语言 > 正文

在mysql中获取类似的行数

如何解决《在mysql中获取类似的行数》经验,为你挑选了1个好方法。

我正在从事一个项目,在其中教师可以节省上课时间。他可以根据天数看到自己的时间。我用了代码

$qry = mysqli_query($con, 'select * from users left join time_slot on users.id=time_slot.u_id where users.id=' . $id);
echo '';
while ($row = mysqli_fetch_array($qry)) {
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
    echo '';
}
echo '
id Date start time End Time
' . $row['id'] . '' . $row['name'] . '' . $row['day'] . '' . $row['time_from'] . '' . $row['time_to'] . '
';

但是,如果导师在同一天有多个班级,则会显示多次。我想显示他是否在同一天(星期一)有2个或更多的课程,然后所有时隙都显示在一行中。一周中的所有天都一样。我该怎么做?



1> Ozgur Bar..:

您可以为此使用GROUP_CONCAT函数。假设您的ddl是这样的

create table users(id bigint, name varchar(50));
create table time_slot(id bigint, u_id bigint, day datetime, time_from time, time_to time);

的SQL将如下所示:

select u.id,u.name, ts.day, 
group_concat(ts.time_from, ' - ', ts.time_to ORDER BY ts.time_from, ts.time_to)
from users u left outer join time_slot ts on u.id = ts.u_id
group by u.id, u.name, ts.day
order by u.name, ts.day

见小提琴。

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有