Variablen innerhalb einer Query?

Variablen innerhalb einer Query?

am 25.10.2006 00:10:03 von Sebastian Suchanek

Hallo NG!

Kann man (bei MySQL v4.1) innerhalb einer Abfrage eine Variable
gleichzeitig setzen und nutzen?

Wenn man beispielsweise aus einer Tabelle gleichzeitig die
absolute Anzahl und relative Anzahl in Prozent von bestimmen
Gruppen abfragen möchte, benötigt man den Wert von
COUNT($Spalte) ja zweimal: Einmal direkt und einmal, um ihn
durch die Gesamtanzahl zu teilen. Da fände ich es blödsinnig,
dem DBMS die Aufgabe des Zählens zweimal aufbrummen zu müssen.


TIA,

Sebastian

PS: Natürlich kann man das Beispiel auch auf der Anwendungsebene
lösen - mir geht's hier eher ums Prinzip.

--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de

Re: Variablen innerhalb einer Query?

am 25.10.2006 07:12:15 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Variablen innerhalb einer Query?

am 25.10.2006 13:04:13 von Christian Hammers

On 2006-10-25 Andreas Kretschmer wrote:
> begin Sebastian Suchanek schrieb:
> > Hallo NG!
> >=20
> > Kann man (bei MySQL v4.1) innerhalb einer Abfrage eine Variable=20
> > gleichzeitig setzen und nutzen?


> test=3D*# select x.*, x.summe/x.anzahl as schnitt from (select sum(val) as
> summe, count(1) as anzahl from news_test) x; summe | anzahl | schnitt
> -------+--------+---------
> 51 | 3 | 17
> (1 row)

Das geht zwar auch (selbst mit MySQL) aber ist MySQL wirklich so schlecht,
daß es das doppelte Auftreten der Summenfunktionen nicht cachen kann?
SELECT sum(val) as summe, count(*) as anzahl, sum(val)/count(*) as schnitt=
FROM news_test;

tschüss,

-christian-

Re: Variablen innerhalb einer Query?

am 25.10.2006 13:53:30 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de