2013-02-13 81 views
1

我有这个表:查询使用分钟()不显示正确的结果

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 

编辑:我需要的是选择code至极有min(viewsT)

我敢肯定,我失踪的财产以后在语法至极非常小会带给我downvotes,但我需要知道我的错误并从中吸取教训。

回答

2

假设你想找到一个一行的最低值,使用

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

如果不止一个行包含最小值你会得到所有这些行。即如果两行对于viewedT的值为15,则您将获得两者。

+0

工作!非常感谢! :) – Slim 2013-02-13 07:28:02

2
select viewedT,Code from Vars 
where viewedT=(select MIN(V.viewedT) from Vars as V) 

它会给你以下结果

viewedT   Code 

15   Dan1234567