Mailinglisten-Archive |
hallo, interessant, wie unterschiedlich die syntax von sql implementiert wird. das mit dem HAVING COUNT(*) hast Du ja schon selbst rausgefunden. damit erhälst Du die zeilen 'satz' mit mehr als einem vorkommen. das count im select gibt Dir die anzahl der unterschiedlichen ausprägungen Deiner pro_id. wiedersprüchlich erscheint mir aber die angabe von pro_id im select. sowas lehnt mir mein rdbms(db2) auch zu recht, wie ich finde, ab. wenn Du die häufigkeit des vorkommen von 'satz' benötigst, solltest Du count(*) auch im select verwenden. irritiert bin ich auserdem, über die Syntax von 'CONCAT(vnam, ' ', name)' . mir ist lediglich die verknüpfung von zwei strings bekannt (bei Dir sind es drei). ich hätte folgendes "vnam || ' ' || name" gemacht. ausserdem wär ich auch nicht auf die idee gekommen einen alias für das GROUP BY zu verwenden (da streikt mein rdbms auch). count verlangt bei mir auch das distinct (s.u.). folgendes hab ich mir vorgestellt, aber ich kenn Deine tabellen und Dein wunschergebnis nicht: Select vname , count(distinct geschl) AS maennlich_weiblich , count(*) as wie_oft_satz >From x GROUP BY VNAME having count(*) > 1 ; ergebnis: vname maennlich_weiblich wie_oft_satz Simone 1 2 Sinan 2 2 Stavros 1 2 das sind 2 Simone mit gleichem Geschlecht allerdings 2 Sinan mit unterschiedlichem Geschlecht während es 2 Stavros mit wiederum gleichem Geschlecht gibt > SELECT > pro_id AS ID, > COUNT(pro_id) AS anzahl, > CONCAT(vnam, ' ', name) AS satz > FROM pro7 > GROUP BY satz > ; > > gruss michael -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive