【发布时间】:2011-10-04 01:59:05
【问题描述】:
我有这个 SQL 代码:
SELECT EXTRACT(MONTH FROM timestamp) AS StatMonth, timestamp
FROM server_stats
GROUP BY StatMonth
ORDER BY StatMonth DESC;
架构:
CREATE TABLE IF NOT EXISTS `server_stats` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`timestamp` int(11) NOT NULL,
`players_online` bigint(20) NOT NULL,
`active_players` bigint(20) NOT NULL,
`total_copper` bigint(20) NOT NULL,
`total_items` bigint(20) NOT NULL,
`total_item_weight` bigint(20) NOT NULL,
`total_houses` bigint(20) NOT NULL,
`total_boats` bigint(20) NOT NULL,
`total_pets` bigint(20) NOT NULL,
`total_experience` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=63 ;
样本数据:
INSERT INTO `server_stats` (`id`, `timestamp`, `players_online`, `active_players`,
`total_copper`, `total_items`, `total_item_weight`, `total_houses`,
`total_boats`, `total_pets`, `total_experience`) VALUES
(53, 1317288600, 227, 718, 155037828, 68231283, 25169498, 14822, 2112, 683, 7776385802),
(54, 1317290400, 224, 718, 155038479, 68233576, 25163526, 14822, 2112, 683, 7776669410),
(55, 1317292200, 215, 718, 155100860, 68239613, 25160397, 14822, 2112, 683, 7776933725),
(56, 1317294000, 201, 717, 155095895, 68240842, 25159809, 14822, 2112, 683, 7777196134),
(57, 1317295800, 204, 718, 155090280, 68248539, 25170275, 14822, 2112, 683, 7777419238),
(58, 1317297600, 194, 718, 155105906, 68259213, 25163212, 14823, 2112, 683, 7777657681),
(59, 1317682800, 230, 724, 157323143, 68731571, 25185326, 14908, 2119, 692, 7834358253),
(60, 1317684600, 213, 724, 157323178, 68733325, 25186412, 14908, 2119, 692, 7834637558),
(61, 1317686400, 219, 724, 157314147, 68737824, 25197057, 14908, 2119, 692, 7834904982),
(62, 1317688200, 225, 725, 157329100, 68736384, 25190554, 14909, 2119, 692, 7835169244);
我使用上面的 SELECT 语句来显示每个月。在这种情况下,应该是九月(9)和十月(10)。但是,它只显示 9 月,而不是 10 月。
谁能给我解释一下?
【问题讨论】:
-
这在 MySQL 5.1 中运行良好,前提是您使用
MONTH FROM from_unixtime(timestamp)。您使用的是哪个 SQL 服务器? -
也许我很困惑,但是使用 DATE() 而不是 int 作为日期怎么样?
-
mySQL 5.1.56。并且“imm”您的代码在那里解决了它!我很感激! :D
-
@imm :请发表您的评论作为答案,以便完成此问题。