mysql - 如何将 mysql 查询转换为事务 SQL 查询

标签 mysql sql-server

我有一个适用于 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/

相关文章:

PHP/MYSQL : A removed row is still displayed in my page after a reload

mysql - 在 Mac OS X Yosemite/El Capitan 上自动启动 MySQL 服务器

基于事务计数的 MySql 数据透视表

c# - 2 次调用或一次调用 sql server

sql - 动态链接服务器查询

sql-server - sql server 中文本之前的 "N"

mysql - 选择一列数据,然后在特定条件为真时计算该列的值

mysql - Jsp只显示我的mySQL表的标题而不是它们的内容

c# - ASP.NET MVC 中的自动递增 ID

sql - 在 7 天滚动窗口中获取结果,该窗口因每个用户而异