我有一个适用于 MySQL 的查询。我需要使用 TRANSACT SQL 创建相同的结果。我一直无法弄清楚咒语。这是 MySQL 查询:
CREATE TEMPORARY TABLE tempo AS
(SELECT master, MAX(nev) AS max
FROM accounts
WHERE where-clause
GROUP BY master
ORDER BY max DESC LIMIT 3);
SET @min = (SELECT MIN(max) FROM tempo);
SELECT * FROM accounts
WHERE master IN (SELECT master FROM tempo) AND nev >= @min ORDER BY NEV DESC;
帮助或指向解释将不胜感激
最佳答案
我从未使用过 MySQL,但我认为这就是您想要的:
DECLARE @min INT;
SELECT TOP 3
master
, MAX(nev) AS max
INTO #tempo
FROM accounts
WHERE WHERE-clause
GROUP BY master
ORDER BY max DESC;
SELECT @min = MIN(max)
FROM #tempo;
SELECT *
FROM accounts
WHERE master IN
(
SELECT master FROM #tempo
)
AND nev >= @min
ORDER BY NEV DESC;
关于mysql - 如何将 mysql 查询转换为事务 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848172/