ich habe folgendes Problem. Ich muss in den oberen Query das feld freq, welches ich unten markiert habe einfügen. Ich weiß nicht wie sich das ermittelt, besteht von eure Seite die Möglichkeit mir zu helfen?
[sql]SELECT coocTable.word, coocFreq, value
FROM (
SELECT word,
count(DISTINCT sentence.id) AS coocFreq
FROM
corpus
INNER JOIN
article ON corpus.id = article.corpusId
INNER JOIN
sentence ON article.id = sentence.articleId
INNER JOIN
term ON sentence.id = term.sentenceId
WHERE corpus.id = 1
AND sentence.id IN
(SELECT sentence.id
FROM
sentence
INNER JOIN
term ON sentence.id = term.sentenceId
WHERE word = ‘Merkel’
) GROUP BY word
ORDER BY coocFreq DESC)
AS coocTable
INNER JOIN sentiws on coocTable.word = sentiws.word[/sql]
[sql]“SELECT word, count(DISTINCT sentence.id) AS freq, count(DISTINCT article.id) AS art " +
“FROM " +
" corpus” +
" INNER JOIN” +
" article ON corpus.id = article.corpusId" +
" INNER JOIN" +
" sentence ON article.id = sentence.articleId" +
" INNER JOIN" +
" term ON sentence.id = term.sentenceId " +
"WHERE corpus.id = " + corpus.getId() +
" GROUP BY word " +
“ORDER BY freq DESC;”
);[/sql]
was verstehst du unter ‘einfügen’ und ‘ermitteln’, was genau soll sich ändern?
meiner Ansicht nach ist das Konzept “count(DISTINCT sentence.id)” in der oberen Query auch schon vorhanden, nämlich als coocFreq,
das wird auch selectiert, danach sortiert, alles da?
ist ‘value’ ein Spaltenname? wie man an der SQL-Formatierung hier im Forum sieht, ist das keine gute Idee, Schlüsselwort
ich habe in der Nacht weitergearbeitet und bin mitlerweile zu einer Lösung gekommen. Allerdings habe ich nun ein weiteres Problem.
MySql zeigt mir bei WHERE einen Fehler
SELECT word, DATE(createDate) AS corpusDate,
count(DISTINCT sentence.id) AS freq,
count(DISTINCT sentence.id) AS freq2 WHERE word = ‘Schalke’
FROM
corpus
Wie muss ich das umbauen damit die Abfrage…
count(DISTINCT sentence.id) AS freq2 WHERE word = ‘Schalke’
Doch das gibt es. Mit Count(distinct) zählt man nur unique Werte. Alternativ könnte man auch einfach ein Group By nutzen, dass ist aber spätestens bei mehrfachen Counts nicht mehr ganz trivial
@where problem: dein Where steht vor dem From. Das ist syntaktisch falsch