Ich versuche, eine Abfrage erstellen die Korrelationskoeffizienten wählen als die am meisten bewerteten Film von einemWas ich in dieser Zusammenhang Abfrage in Oracle SqlDevelopper falsch mache
Benutzer zu bestimmen, wie dieseDie Struktur meiner Tabelle ist :
Meine Frage ist diese:
SELECT
user1, user2,
((psum - (sum1 * sum2/n))/sqrt((sum1sq - pow(sum1, 2.0)/n) * (sum2sq - pow(sum2, 2.0)/n))) AS r,
n
FROM
(SELECT
n1.idclient AS user1,
n2.idclient AS user2,
SUM(n1.cote) AS sum1,
SUM(n2.cote) AS sum2,
SUM(n1.cote * n1.cote) AS sum1sq,
SUM(n2.cote * n2.cote) AS sum2sq,
SUM(n1.cote * n2.cote) AS psum,
COUNT(*) AS n
FROM
cote AS n1 // <---------- Editor is pointing a missing parenthese here with a red line
LEFT JOIN
cote AS n2 ON n1.idfilm = n2.idfilm
WHERE
n1.idclient > n2.idclient
GROUP BY
n1.idclient, n2.idclient) AS step1
ORDER BY
r DESC, n DESC
Aber ich bin zuversichtlich, dass ich keine Klammern verpassen haben, was habe ich getan w Rong?
P. S: Ich bin kein Experte, und ich würde
„Oracle lässt Sie nicht wie für Tabelle Aliase verwenden, nur für Spaltenaliasnamen in der Zeile, die Sie markiert "Oh, mein Gott, jetzt verstehe ich, warum ich manchmal AS gebrauchen kann und manchmal kann ich nicht, aber das Seltsame ist in einem anderen Orakel-Editor, der es akzeptiert, ... Oracle ist eine große Welt und ich danke dir sehr viel für Ihre Zeit, es zu mir zu erklären – napi15
Selbst wenn Ihr anderer Herausgeber das Problem nicht hervorhob, haben Sie den gleichen ORA-00907 Fehler erhalten, als Sie die Frage laufen ließen. –
Yup, Sie haben Recht, denn wenn ich die Abfrage ausführen, erkannte es nicht "POW", sondern erkannte POWER. Ich habe nie verstanden, warum Oracle niemals gerne uniformiert wird und in allen Versionen die gleiche Syntax verwendet. Es ist nicht schwer, aber es verwirrt mich – napi15