Mysql 将第二行移到第一行,然后所有记录在SQL中遵循相同的顺序
我有一个具有这种结构的表,我想显示周名称的记录基础,即第一个位置的星期一,第二个位置的星期二…所以在最后一个位置的星期天,所以我需要将星期一更改为第一个,星期天将持续Mysql 将第二行移到第一行,然后所有记录在SQL中遵循相同的顺序,mysql,sql,function,stored-procedures,Mysql,Sql,Function,Stored Procedures,我有一个具有这种结构的表,我想显示周名称的记录基础,即第一个位置的星期一,第二个位置的星期二…所以在最后一个位置的星期天,所以我需要将星期一更改为第一个,星期天将持续 1 Sunday 00:30:00.000 19:30:00.000 2 Monday 01:30:00.000 17:01:00.000 3 Tuesday 23:00:00.000 00:30:00.000 4 Wednesday 01:00:00.000 15:54:00.00
1 Sunday 00:30:00.000 19:30:00.000
2 Monday 01:30:00.000 17:01:00.000
3 Tuesday 23:00:00.000 00:30:00.000
4 Wednesday 01:00:00.000 15:54:00.000
5 Thursday 00:00:00.000 00:00:00.000
6 Friday 00:00:00.000 22:00:00.000
7 Saturday 00:00:00.000 21:30:00.000
您可以使用weekday(mydate)
获取所需的值并按其订购
- 工作日(mydate)将“日期”转换为工作日编号(
) 从tbl中选择工作日(mydate)、mydate、dayname(mydate) 按工作日(mydate)订购Monday=0
这里的示例:我相信您不能在Day之前订购,因为您不能仅使用DayOfWeek和DateTime的时间部分来真正形成DateTime 如果此表仅包含7条记录(一周中的每一天一条),那么您可能希望按照您想要的顺序重新排列记录id,这将允许您对它们进行排序并获得预期的结果
CREATE TABLE Your_TableName
(
DayId int primary key,
DaysName nvarchar(max)
)
INSERT INTO Your_TableName
VALUES ('1', 'Sunday'),
('2', 'Monday'),
('3', 'Tuesday'),
('4', 'Wednesday'),
('5', 'Thursday'),
('6', 'Friday'),
('7', 'Saturday')
--Move Sunday to the back to release the first id
UPDATE Your_TableName
SET DayId = '8'
WHERE DayId = '1'
--Don't technically have to do this, but you can move the rest of the records
--to also reclaim that ID that was just released in order to have 1-7 Ids
UPDATE Your_TableName
SET DayId = DayId - 1
select * from Your_TableName
order by dayId
你的结果如下
DayId DaysName
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday
使用以下SQL语句:
Select dayname(date_column), date_column from table_name order by weekday(date_column);
您只需在SQL查询中使用orderbyweekday(date\u列)
weekday()函数返回以下日期代码:
星期一。0
星期二。一,
星期三。二,
星期四。三,
星期五。四,
星期六
星期天。6能否附加当前的SQL查询?如何从数据库中获取工作日-用于获取工作日的字段类型是什么?我不了解您的数据。请注意,您的表没有真正的内部顺序。如果您希望以特定顺序查看数据,那么您需要在select查询中使用正确的
order BY
子句。我有一个这样的表结构,现在我需要按日期名称对数据进行排序,即星期一在第一个位置,星期二在第二个位置,依此类推…字段名称Id、名称、startdate和enddateTable名称-记录