Mailinglisten-Archive |
Michael Borchers schrieb:
>> Michael Borchers schrieb:
>>
>>> Ich habe verschiedene Status 1-X. Zu jedem Status werden verschiedene
>>> COUNT()s durchgeführt, z.B.
>>> SELECT COUNT(foo) FROM bar WHERE status = X
>>> Besteht die Möglichkeit in MySQL 5 eine Schleife zu konstruieren, à la
>>> FOR(i=0;i<X;i++) {
>> < SELECT COUNT(foo) FROM bar WHERE status = i
>>
>> eventuell damit
>>
>> CREATE PROCEDURE p ()
>> BEGIN
>> DECLARE i INT DEFAULT 0;
>> WHILE i < 5 DO
>> SELECT * FROM v;
>> SET i = i + 1;
>> ALTER VIEW v AS SELECT 2;
>> END WHILE;
>> END;
>>
>> Gruß
>> Wolfgang Skupin
>
> Ich glaube diese Zusammenstellung würde meinen Zweck erfüllen. Leider läuft
> bei uns imme noch MySQL 5.0.:(
> Ich werde es aber mal auf 5.1 testen. Worin liegt der Vorteil der PROCEDURE,
> denn ich denke die normale
> WHILE Schleife würde mir schon reichen?!
die WHILE-Schleife gibt es nunmal nur in einer PROCEDURE ... ;-)
aber ich denk wie die anderen schon vorgeschalgen haben, das du das mit
GROUP BY und eventuell 'derived tables' (subselects) lösen kannst
--
Sebastian
php::bar PHP Wiki - Listenarchive