在the following:
(其上運行的Stack Exchange Data Explorer查詢,它使用一個SQL Azure中實現的OData的FAQ說,它支持大多數TSQL命令的):如何在SQL中使用變量或引用?
DECLARE @MinPosts int = ##MinNumberOfPosts##
SELECT
Id AS [User Link],
Reputation,
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) AS [# Posts],
Reputation/
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) AS [Rep Per Post]
FROM Users
WHERE (SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id
) > @MinPosts
ORDER BY [Rep Per Post] DESC
我寫出:
(SELECT COUNT(*)
FROM posts
WHERE posts.OwnerUserId = Users.Id)
三次。 如何爲上述代碼片段創建變量或函數?
我嘗試使用列別名[# Posts]
,但沒有奏效。
我找到了these posts關於重新使用計算的提交名稱進行進一步計算,這似乎是我想要的,但我無法弄清楚如何應用它。
什麼味道的SQL? – 2010-09-05 05:56:41
FAQ說T-SQL。我已相應標記。 – BoltClock 2010-09-05 06:06:04
@BoltClock - 謝謝。看起來像'數據庫託管在SQL Azure上。 SQL Azure支持大多數的TSQL命令, – 2010-09-05 06:10:17