2010-05-13 7 views
0

J'aime effectuer ce qui suit avec SubSonic 3 sans utiliser Linq (en utilisant la recherche dynamique des colonnes et des tables). En outre, pas de SQL en ligne (pour éviter les injections SQL).GroupBy compte avec Subsonic 3

http://www.java2s.com/Code/SQL/Select-Clause/COUNTandGROUPBY.htm

mysql> SELECT species, COUNT(*) FROM Bird GROUP BY species; 
+---------+----------+ 
| species | COUNT(*) | 
+---------+----------+ 
| Bus  |  2 | 
| Car  |  1 | 
+---------+----------+ 
2 rows in set (0.00 sec) 

Drop table Bird; 

CREATE TABLE Bird (
    name VARCHAR(20), 
    owner VARCHAR(20), 
    species VARCHAR(20), 
    sex CHAR(1), 
    birth DATE, 
    death DATE 
); 

INSERT INTO Bird VALUES ('BlueBird','Joe','Car','f','1999-03-30',NULL); 
INSERT INTO Bird VALUES ('RedBird','Yin','Bus','m','1979-04-30',1998-01-30); 
INSERT INTO Bird VALUES ('RedBird','Yin','Bus','m','1998-01-30',NULL); 


/* COUNT() and GROUP BY 

Number of animals per species: 
*/ 
SELECT species, COUNT(*) FROM Bird GROUP BY species; 

Répondre

0

Vous avez presque fait:

Essayez ceci:

SELECT species, COUNT() FROM Bird GROUP BY species; 

Ce travail dans SQL et je pense que cela fonctionne dans MySql

+0

En fait, je voulais une solution avec SubSonic 3 (.net C#) :) – Andreas