sql使用COUNT设置变量

Lum*_*mpi 44 t-sql sql-server

我试图对我的服务器进行简单的查询,并希望将结果存储在变量@times中.

DECLARE @times int

SET @times = SELECT COUNT(DidWin)as "I Win"
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
Run Code Online (Sandbox Code Playgroud)

IntelliSense说 Wrong syntax near Select

Mik*_*nty 87

您只需要在您的选择周围使用括号:

SET @times = (SELECT COUNT(DidWin) FROM ...)
Run Code Online (Sandbox Code Playgroud)

或者你可以这样做:

SELECT @times = COUNT(DidWin) FROM ...
Run Code Online (Sandbox Code Playgroud)


lam*_*cck 8

您可以直接选择变量而不是使用set:

DECLARE @times int

SELECT @times = COUNT(DidWin)
FROM thetable
WHERE DidWin = 1 AND Playername='Me'
Run Code Online (Sandbox Code Playgroud)

如果你需要设置多个变量,你可以从同一个选择(例如有点做作):

DECLARE @wins int, @losses int

SELECT @wins = SUM(DidWin), @losses = SUM(DidLose)
FROM thetable
WHERE Playername='Me'
Run Code Online (Sandbox Code Playgroud)

如果您偏爱使用set,则可以使用括号:

DECLARE @wins int, @losses int

SET (@wins, @losses) = (SELECT SUM(DidWin), SUM(DidLose)
FROM thetable
WHERE Playername='Me');
Run Code Online (Sandbox Code Playgroud)