![]() |
1
31
或者按照williham totland的建议重新设计列,或者进行一些字符串解析以获得日期表示。 如果列 只有 包含星期几,则可以执行以下操作:
|
![]() |
2
6
为什么不呢?
我相信这是星期一到星期天的命令… |
![]() |
3
3
我认为,除了重新设计列以使用枚举之外,没有太多的工作要做,除了在您得到结果之后对结果进行排序之外。 编辑:一个脏的hack当然是添加另一个id:weekday对的表,并使用join或select-in selects来伪造枚举。 |
![]() |
4
1
这看起来很凌乱,但仍然有效,而且似乎更通用:
使用if更加通用和混乱:
还可以隐藏存储过程中从name到int转换的详细信息。 |
![]() |
5
0
另一种方法是创建另一个具有这些日期的表,并使用int排序,在搜索时加入该表,然后按它排序。当然,不建议加入varchar。
从可转换的内容中选择*。 left join daysofweek on daysofweek.day=whatevertable.daycolumn 按daysofweek.id排序 (如果不正确,请道歉;我最近一直在使用SQL Server) 同样,这是不推荐的,但是如果你不能改变你已经得到的数据…如果daycolumn字段中存在非标准值,这也会起作用。 |
![]() |
6
0
…按日期排序格式(订单日期,'%w')=0,日期格式(订单日期,'%w'); |
![]() |
7
0
我意识到这是一条古老的线索,但当它在某些搜索时间到达谷歌的顶端时,我会用它来分享我的方法。 我希望得到与原始问题相同的结果,但除此之外,我还希望从一周中的当前日期开始对结果进行排序,然后在其余时间继续排序。 我创建了一个单独的表,其中列出了超过两周的天数,这样无论从哪一天开始,都可以连续运行7天。
然后,我使用一个变量运行查询,该变量按顺序确定了起始点,并使用一个联接来获取天数的订单号。例如,要在星期三开始列表,我将执行以下操作:
我希望这能帮助那些偶然发现这篇文章的人。 |
![]() |
8
0
找到另一个适合我的方法:
希望它有帮助 |
![]() |
9
-1
如果您尝试这样做,它应该可以工作:
|
|
user9630128 · 如何按升序LINQ对列表排序 6 年前 |
![]() |
Calflamesfann · 如何为每个不同的代码值选择不同的项目 6 年前 |
![]() |
Pablo DelaNoche · 按案例排序时语句/多个 6 年前 |
![]() |
Andrew · 如何根据字母排序顺序设置int值 6 年前 |
![]() |
nasic · SQL order by找不到解决方案 6 年前 |
![]() |
Shawn · 分组依据之外的按列排序 6 年前 |
![]() |
Simsar78 · SQL选择GROUP BY并使用特定值联接行 6 年前 |