Probleme mit Select-Anweisung

Probleme mit Select-Anweisung

am 30.12.2007 19:30:00 von Thomas Berndt

Hallo,

habe folgendes Problem:

Ich habe eine Musik-Datenbank in der die Chartplazierungen bestimmter
Interpreten und Titel eingetragen sind. Pro Platz gibt es eine bestimmte
Punktzahl. Mit einer Abfrage möchte ich nun erfahren, wieviel Punkt ein
bestimmter Titel erreicht hat. Im Normalfall (denke ich) mit folgender
Selectanweisung:

SELECT SUM(punkte) as gesamtpunkte FROM chartstatistik WHERE artist = '...'

Als Ergebnis bekomme ich die Gesamtpunkte. Ich möchte aber ebenfalls noch die
Felder Interpret und Titel ausgegeben haben. Also:

SELECT interpret,titel,SUM(punkte) ....

Leider funktioniert das so nicht. Kann mir jemand sagen, was ich da falsch
mache und ob die Abfrage überhaupt machbar ist? Danke schon mal für eure Hilfe.

Thomas

Re: Probleme mit Select-Anweisung

am 30.12.2007 20:21:29 von Sebastian Suchanek

Thomas Berndt schrieb:

> Ich habe eine Musik-Datenbank in der die Chartplazierungen bestimmter
> Interpreten und Titel eingetragen sind. Pro Platz gibt es eine bestimmte
> Punktzahl. Mit einer Abfrage möchte ich nun erfahren, wieviel Punkt ein
> bestimmter Titel erreicht hat. Im Normalfall (denke ich) mit folgender
> Selectanweisung:
>
> SELECT SUM(punkte) as gesamtpunkte FROM chartstatistik WHERE artist = '...'
>
> Als Ergebnis bekomme ich die Gesamtpunkte. Ich möchte aber ebenfalls noch die
> Felder Interpret und Titel ausgegeben haben. Also:
>
> SELECT interpret,titel,SUM(punkte) ....
>
> Leider funktioniert das so nicht.

Tja, hättest Du mal auf die Fehlermeldung geachtet, die MySQL dazu
ausgibt. Die hätte Dir nämlich einen ganz heißen Tip gegeben.
Macht aber nix, meine Glaskugel ist ja frisch poliert.

> Kann mir jemand sagen, was ich da falsch
> mache und ob die Abfrage überhaupt machbar ist? Danke schon mal für eure Hilfe.

SELECT interpret, titel, SUM(punkte) AS Punktesumme
FROM chartstatistik
GROUP BY interpret, titel


HTH,

Sebastian

Re: Probleme mit Select-Anweisung

am 31.12.2007 07:14:49 von Thomas Berndt

Sebastian Suchanek wrote:
>Thomas Berndt schrieb:
>
>> Ich habe eine Musik-Datenbank in der die Chartplazierungen bestimmter
>> Interpreten und Titel eingetragen sind. Pro Platz gibt es eine bestimmte
>> Punktzahl. Mit einer Abfrage möchte ich nun erfahren, wieviel Punkt ein
>> bestimmter Titel erreicht hat. Im Normalfall (denke ich) mit folgender
>> Selectanweisung:
>
>Tja, hättest Du mal auf die Fehlermeldung geachtet, die MySQL dazu
>ausgibt. Die hätte Dir nämlich einen ganz heißen Tip gegeben.
>Macht aber nix, meine Glaskugel ist ja frisch poliert.
>
Super ... dank dir und deiner Glaskugel funktioniert es auf Anhieb! Vielen Dank
!!

Thomas
>
>Sebastian

Re: Probleme mit Select-Anweisung

am 31.12.2007 15:23:08 von Volker Neurath

Thomas Berndt wrote:

>>Tja, hättest Du mal auf die Fehlermeldung geachtet, die MySQL dazu
>>ausgibt. Die hätte Dir nämlich einen ganz heißen Tip gegeben.
>>Macht aber nix, meine Glaskugel ist ja frisch poliert.
>>
> Super ... dank dir und deiner Glaskugel funktioniert es auf Anhieb! Vielen
> Dank !!

Kurz zum Hintergrund:

SUM() ist eine der sogenannten Aggregatfunktionen. diese funktionieren nur
zusammen mit Group By

Volker
--
Im übrigen bin ich der meinung, dass TCPA/TCG verhindert werden muss

Re: Probleme mit Select-Anweisung

am 01.01.2008 02:17:21 von Siegfried Schmidt

Hallo Volker,

> SUM() ist eine der sogenannten Aggregatfunktionen. diese funktionieren
> nur zusammen mit Group By

Nein, Aggregatfunktionen brauchen eine Gruppierung nur, wenn das Ergebnis
ebenfalls gruppiert sein soll. Ansonsten kommen sie prima ohne aus.



Siegfried
--
http://www.schmidt.ath.cx

Re: Probleme mit Select-Anweisung

am 01.01.2008 08:37:45 von Thomas Berndt

Siegfried Schmidt wrote:
>Hallo Volker,
>
>> SUM() ist eine der sogenannten Aggregatfunktionen. diese funktionieren
>> nur zusammen mit Group By
>
>Nein, Aggregatfunktionen brauchen eine Gruppierung nur, wenn das Ergebnis
>ebenfalls gruppiert sein soll. Ansonsten kommen sie prima ohne aus.
>
>
Man lernt nie aus, danke für die Info!

Thomas
>--
>http://www.schmidt.ath.cx