Pošto sam i ja malo zardjao, nisam uspeo da smislim nista sto bi dalo takav output a da se ne koriste neki view-ovi, subqueries i slicno (posto pretpostavljam da ti to nije elegantno). Ali sam smislio nešto drugo, što bi ti možda rešilo problem:
Code:
SELECT surveyID,COUNT(*) AS Total
FROM surveys
GROUP BY surveyID,(IP=888);
Ovako dobijaš po jedan red za svaki surveyID, pri čemu je prvi kada IP (ili TotalIP? - naveo si različito na dva mesta) nije jednak 888, a drugi kada jeste. Konkretno, ovako nešto:
mysql> SELECT surveyID,COUNT(*) AS Total FROM survey GROUP BY surveyID,(IP=888);
+----------+-------+
| surveyID | Total |
+----------+-------+
| AAAAA | 1 |
| AAAAA | 2 |
| BBBBB | 1 |
| BBBBB | 1 |
+----------+-------+
Ili isto to, samo naznačeno šta je šta:
Code:
SELECT surveyID,(IP=888) AS IP_JEDNAKO_888,COUNT(*) AS Total
FROM surveys
GROUP BY surveyID,IP_JEDNAKO_888
mysql> SELECT surveyID,(IP=888) AS IP_JEDNAKO_888,COUNT(*) AS Total FROM surveys GROUP BY surveyID,IP_JEDNAKO_888;
+----------+----------------+-------+
| surveyID | IP_JEDNAKO_888 | Total |
+----------+----------------+-------+
| AAAAA | 0 | 1 |
| AAAAA | 1 | 2 |
| BBBBB | 0 | 1 |
| BBBBB | 1 | 1 |
+----------+----------------+-------+
Jes' da nisi to tražio, ali možda ti odradi posao, a meni je bilo zanimljivo da smišljam ;)