我有这样的查询
SELECT Value,month,Year FROM `rainfall_past` WHERE Year = '2006' and District= 'Colombo'
这将返回以下结果
Value month Year
103.4 April 2006
270.6 August 2006
51.9 December 2006
156.9 February 2006
126.9 January 2006
96.8 July 2006
183.1 June 2006
266.6 March 2006
193.1 May 2006
524.7 November 2006
619.9 October 2006
129 September 2006
问题是,你可以看到月份不在日历顺序中。如何在日历月订单中查询此信息。我不想在表中添加额外的列或在源代码中编写脚本来对其进行排序。有什么办法可以在我的查询中执行此操作。谢谢你们的支持
答案 0 :(得分:2)
似乎month
是一个文本字段。如果是这种情况,那么您可以在ORDER BY
子句中使用FIELD
函数:
SELECT Value, month, Year
FROM `rainfall_past`
WHERE Year = '2006' and District= 'Colombo'
ORDER BY Year,
FIELD(month, 'January', 'February', ..., 'December')
另一方面,如果从日期时间字段中推断出month
,则可以使用MONTH(date)
。