我有一个包含两个字段的MySQL数据库:Date和Value。 我的约会季度(Q1-2007,Q2-2008 ......)。我希望能够使用以下SQL查询:
SELECT * FROM table WHERE 1 ORDER BY Date
我该怎么做?
答案 0 :(得分:2)
我猜你想要他们订购,以便所有2007年的顺序出现,然后是2008年的那些,等等。这应该有效:
SELECT * FROM table WHERE 1 ORDER BY SUBSTRING(Date, 4, 4), SUBSTRING(Date, 1, 2);
假设您的日期格式一致且您的“日期”列实际上是VARCHAR或类似的......
答案 1 :(得分:1)
使用日期列并确定每个季度的日期。然后,您可以将内置函数用于日期。
答案 2 :(得分:0)
SELECT * FROM table WHERE 1 ORDER BY Date
是否已将字段Date
排序为Q1-2007
,Q2-2007
,Q3-2007
,Q4-2007
?如果对这些字符串进行排序,那么它们应该是如何排序的。
如果那时我会创建一个包含这些值的数据库,我宁愿使用3个字段,并在季度和年份中使用两个不同的字段。