我有这张桌子:

CREATE TABLE IF NOT EXISTS `Vars` (
  `ID` bigint(20) NOT NULL AUTO_INCREMENT,
  `code` varchar(15) NOT NULL,
  `userID` bigint(20) NOT NULL,
  `viewedT` bigint(20) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

我有这些价值观:
INSERT INTO `Vars` (`ID`, `code`, `userID`, `viewedT`) VALUES
(1, 'alex1234567', 1, 25),
(2, 'Dan1234567', 2, 15);

现在奇怪的是,我不能用这个查询得到正确的结果:
select min(`viewedT`), `code` From Vars

结果是:
 min(`viewedT`)     Code
 15                 alex1234567

编辑:我需要的是选择codewich havemin(viewsT)
我确信我遗漏了一些语法上很小的东西,但我需要知道我的错误并从中吸取教训。

最佳答案

假设要找到具有最小值的一行,请使用

select viewedT, code, id from vars
  where viewedT= (select min(viewedT) from vars)

如果多行包含最小值,则将获得所有此类行。也就是说,如果两行的viewedT值为15,则可以同时得到这两行。

10-08 08:25