我正在从数据库中读取库的开放时间,所以我得到的回复如下:
{
"5":{ // library ID
"4":{ // interval ID
"statement":"",
"start_date":"5th Jan 2015",
"end_date":"1st Mar 2015",
"hours":[
{
"day_of_week":"Sun",
"opening_time":"12am",
"closing_time":"12am",
"is_closed":true,
"open_24hrs":false
},
{
"day_of_week":"Mon",
"opening_time":"9am",
"closing_time":"5pm",
"is_closed":false,
"open_24hrs":false
},
{
"day_of_week":"Tue",
"opening_time":"9am",
"closing_time":"5pm",
"is_closed":false,
"open_24hrs":false
},
对于每个“常规”开放时间和每个“变化”相同,其中间隔可以是从一天到七天的任何时间。 (这里我已经将日期数字预处理为短日名称)。我通过AJAX / PHP从PostGreSQL获取数据。我的问题是,如果间隔可能是从一天到几周的任何时间(但是一周内只有一个小时的间隔存储一周或更长的间隔),我怎样才能正确地订购变化的日子,并且可以在任何一天开始,例如:星期五,星期六,星期日,星期一长周末(在这种情况下,日数是5,6,0,1所以按照太阳,星期一,星期五,星期六排序)?
我最初的想法是:
但是我想知道这是否一切都是矫枉过正的,我可以使用order by子句或类似的方法完成相同的操作,例如:Possible to create a query that sorts by day of week? ?
任何想法都非常感激。
答案 0 :(得分:0)
我会这样订购:
ORDER BY interval.start_date, hours.day_of_week, hours.opening_time