我正在研究一个项目,其中有一个数据库表如下所示(结构上,但不是数据方面的-puuh):
year | event | category
------------------------------------------------------------
1970 | Someone ate a cheeseburger | food
2010 | Justin bieber was discovered | other
1500 | Columbus makes 3rd trip to America | notable
------------------------------------------------------------
如何查询此表,以便以每世纪的方式对结果进行分组?
2000世纪:
2010年-贾斯汀·比伯被发现
1900世纪:
1970年-有人吃了一个芝士汉堡
1500世纪:
1500年的今天,哥伦布第三次来到美洲
抱歉,这是一个不起眼的假数据:)
最佳答案
MySQL没有百年功能,但是有一年,所以基本上是:
SELECT whatever
FROM yourtable
WHERE ...
GROUP BY CAST((Year(datetimefield) / 100) AS INTEGER)
当然,这并没有考虑到几个世纪是从“1”年开始,而不是从“0”年开始(例如1900年仍然是18世纪,而不是19世纪)。但是,如果你不是一个坚持精确的人,简单的“除以100”方法是最快/最简单的。