selectcount(id) from t_member where regTime <= #{value} ( < "<"的转义)
二、查询男女性别数量
这个只需要在sql使用即可
1
SELECTcase sex when'1'THEN'男'when'2'THEN'女'else'未知'endas name, COUNT(id) as'value'FROM t_member GROUPBY sex;
查询结果
三、查询会员年龄段人数
展示0-18岁,18-30岁,30-45岁,45岁以上的人数和占比。
由于数据库的日期是date类型的,所以between是包括右边界的,18要归纳到18-30岁,所以这里0-18岁只能between 0 and 17;后面的同理。
注:如果是datetime类型,是不过包括右边界的,所以可以用0 between 18;
1 2 3 4 5 6 7 8 9 10
select (case when a.age between0and18then "0-18岁" when a.age between18and30then "18-30岁" when a.age between31and45then "30-45岁" when a.age >=45then "45岁以上" end) as name, -- 设置各个年龄段 count(*) asvalue, -- 设置各个年龄段的人数 count(*)/(selectcount(id) from t_member) as proportion -- 设置各个年龄段的占比 from (select timestampdiff(year, birthday,date_format(now(), '%y-%m-%d')) as age from t_member) as a groupby name; -- 查询年龄