如何按包含星期几名称的varchar列排序mysql结果?
请注意,MONDAY应该排在第一位,而不是SUNDAY。
根据Williham Totland的建议重新设计该列,或者进行一些字符串解析以获取日期表示形式。
如果该列 仅 包含星期几,则可以执行以下操作:
ORDER BY FIELD(<fieldname>, 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY');
问题内容: 我正在努力解决这个问题。我有这样一张桌子。 我想查询表,结果必须是这样。 查询: 如果该列的值为’A,B,C,D’,则可以正常工作。在某些情况下,某些列的顺序可能在table中没有价值。在这种情况下,我想为其设置0并构造一个结果。 表中没有D。因此,将其设置为“ 0”。 显示创建表输出 问题答案: 怎么这样:
问题内容: 有一个字段’noticeBy’枚举(’email’,’mobile’,’all’,’auto’,’nothing’)NOT NULL默认’auto’。众所周知,按ENUM字段排序相对于其索引执行。但是,如何通过其值进行排序? 问题答案: 如“ 排序”中所述: 值根据其索引号排序,索引号取决于列规范中列出的枚举成员的顺序。例如,在for 之前排序。空字符串排在非空字符串之前,值排在所有其
问题内容: 我有一张桌子:“ ID名称c_counts f_counts” 我想按顺序排序所有记录, 但这不起作用: 问题答案: 别忘了,如果要混合使用分组(即SUM)字段和非分组字段,则需要对非分组字段之一进行GROUP BY。 尝试这个: 或这个: 而且,您始终可以执行以下派生查询: 许多可能性!
问题内容: 是否可以按某个列以及RAND()对结果集进行排序? 例如: 谢谢你。 问题答案: 您正在执行的操作是有效的-它将按降序对结果进行排序,但会随机化领带的顺序。 但是,要执行所需的操作,您首先需要使用子查询来获取最新的100条记录,然后再使用外部查询对该子查询的结果进行随机排序:
问题内容: 我有一个数字列表:(这是现有记录的ID) 我有一个带有列和的mysql表,其中是整数主键。我想从该表中选择的记录,但在一个特定的顺序,例如,,,,,。 是否可以在MyISAM的查询中执行此操作,而无需任何后处理? 最简单的方法是什么? 问题答案: 由于,一个简单就足够了。 但是,如果您要这样订购:,则可以使用function : 如果查询匹配的行多于您列出的行 返回时,行不匹配任何您列
问题内容: 某些SQL Server允许使用通用语句,例如。我认为这不适用于MySQL,是否有任何这样的解决方法可以跨多个表进行自动选择,还是需要使用查询查询来确定主键? 我一直在解决的方法是在运行查询之前调用。有更有效的方法吗?在选择过程中,MySQL可以确定表的主键吗? 更新: 正如Gordon所指出的那样,通常在MySQL或SQL中没有官方的方式来执行此操作。SAP具有自定义功能。有一些解决