views:

87

answers:

1

Hi, I like to perform the following with SubSonic 3 without using Linq (using dynamic lookup of columns and tables). Also, no inline sql (to prevent sql-injections).

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;
A: 

You almost did it:

Try This:

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

This Work in SQL and i think it works in MySql

Hiyasat
Actually I wanted a solution with SubSonic 3 (.net c#) :)
Andreas