Ich versuche, etwas, und ich bin nicht so gut mit Mysql abzufragen, so dass ich frage mich, ob jemand kann mir sagen, was das Problem hier ist hier meine Tabelle:Syntaxfehler in der Nähe (
create table #transfers (
sender varchar not null,
recipient varchar not null,
date date not null,
amount integer not null
);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Smith','Williams','2000-01-01',200);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Smith','Taylor','2002-09-27',1024);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Smith','Johnson','2005-06-26',512);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Williams','Johnson','2010-12-17',100);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Williams','Johnson','2004-03-22',10);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Brown','Johnson','2013-03-20',500);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Johnson','Williams','2007-06-02',400);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Johnson','Williams','2005-06-26',400);
INSERT INTO #transfers(sender,recipient,date,amount) VALUES ('Johnson','Williams','2005-06-26',200);
Diese die Abfrage:
WITH cte AS
(
SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY recipient ORDER BY amount DESC)
FROM #transfers
)
SELECT recipient
FROM cte
WHERE rn <= 3
GROUP BY recipient
HAVING SUM(amount) >= 1024
ORDER BY recipient
aber ich bekomme diese Fehlermeldung:
in der Nähe "(": Syntaxfehler
erstellen, da Sie nicht MySQL-Syntax verwenden (mit CTE als ..) in mysql ... –
Das sieht wie eine SQL Server-Abfrage aus. 'CTE's und' ROW_NUMBER' sind in MySQL nicht verfügbar. –
MYSQL unterstützt 'CTE' nicht –