0

このコマンドを使用して、データベース内のすべてのユーザーの年齢を取得しています。

SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(STR_TO_DATE(birthday, '%d/%m/%Y'))), '%Y')+0 AS age 
FROM users ;

そして、各年齢のカウントを取得し、チャート コントロールに表示したいと考えていasp.netます。

次のようなもの:

Age count
15  30
16  19
18  46

このための選択コマンドはどのようにすべきですか?

4

2 に答える 2

1

これを試して

 SELECT age , count(age) FROM (
  SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(STR_TO_DATE(birthday, '%d/%m/%Y'))), '%Y')+0 AS age FROM users ) t GROUP BY age
于 2013-07-06T10:54:28.420 に答える
1

次のようなことができます:

SELECT AGE , COUNT(*) as count
(
SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())- TO_DAYS(STR_TO_DATE(birthday, '%d/%m/%Y'))), '%Y')+0 AS age 
FROM users
) AS A 
GROUP BY AGE

これにより、同じ年齢のユーザーのグループが作成され、カウントされます。

于 2013-07-06T10:55:02.983 に答える