2016-06-27 15 views
-2

Hey kann nicht die richtige Antwort für meine Frage finden. Wenn ich habe eine Tabelle:SQL ID von Summe der Preise finden

DB: rät

1 id    int(11)  
2 type   varchar(256)  
3 candidate_id int(11) 
4 data   text(rating data is inside here 1-10) 

ich alle Candidate_ids als Ergebnis will, wo die durchschnittliche Rate ein Suchmuster zum Beispiel 3. Wie kann ich dies geschehen bekommen? Ich habe es versucht, kann es aber nicht alleine schaffen.
Jeder Kandidat mehr als 5 Datensätze in der DB hat: rate

id type candidate_id data 

1 vote  5   10 
2 vote  5   4  
3 vote  4   4 
4 vote  4   3  
5 vote  5   8 
+1

Es ist schwer zu sagen, aber ich glaube, Sie in GROUP graben wollen BY und HAVING-Klauseln in SQL SELECT. – duffymo

Antwort

0

Ihre Frage ein bisschen schwierig ist, Folgen. Sie möchten alle Kandidaten mit einer durchschnittlichen Rate von 3, aber Ihre Tabelle enthält keine Spalte "Rate" - meinst du "Daten"? (!) Wenn ich jedoch Ihre Frage richtig verstanden habe, so etwas wie die folgende soll das Problem lösen:

SELECT Candidate_ID 
FROM [RateTable] 
GROUP BY Candidate_ID 
HAVING Avg(rate) = 3 
2

Angenommen, ich verstehe die Frage, ich glaube, Sie für so etwas suchen:

SELECT candidate_id 
FROM TableName 
GROUP BY candidate_id 
HAVING AVG(data) = 3 
+0

das ist was ich suche, ty! –

+0

froh zu helfen :-) –