T-SQL确定结果集中的最低位值

Ale*_*oun 2 sql t-sql sql-server

假设我有一个包含a int primary key,a varcharbitvalue的表.请记住,我实际上并没有使用这样的东西,但它说明了我在SELECT声明中要做的事情.

仿表:

CREATE TABLE HorribleSample(
    Id INT IDENTITY(1,1) NOT NULL,
    Code VARCHAR(6) NOT NULL,
    IsTrue BIT NOT NULL,
    CONSTRAINT PK_HorribleSample PRIMARY KEY CLUSTERED(Id ASC)
)
Run Code Online (Sandbox Code Playgroud)

样本数据:

INSERT INTO HorribleSample VALUES('HELLO', 0)
INSERT INTO HorribleSample VALUES('WORLD', 1)
INSERT INTO HorribleSample VALUES('HELLO', 1)
INSERT INTO HorribleSample VALUES('WORLD', 1)
Run Code Online (Sandbox Code Playgroud)

我要做的是从结果集中选择最低位值.我以为我能做到:

SELECT MIN(IsTrue)
FROM HorribleSample
WHERE Code = 'HELLO'
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,指出我不能MINbit字段上使用.

代码是HELLO,我希望0,但是当WORLD我想到的时候1.我怎么能做到这一点?它甚至可能吗?

Cha*_*ndu 5

试试这个:

SELECT TOP 1 * 
    FROM HorribleSample 
WHERE Code = 'HELLO' 
 ORDER BY IsTrue 
Run Code Online (Sandbox Code Playgroud)