userinfo 表(userinfo_id ,userinfo_name) userinfo_id:用户id  userinfo_name:用户名
dlcsb 表 (dlcsb_id,userinfo_id,dlcsb_date) dlcsb_id:id  userinfo_id:用户id  dlcsb_date:登录时间(字段存放数据类型“2007-03-06 09:21:21”)
怎么通过sql语句等待登录次数和登录天数。(注意,一天不管登录多少次,均只算登录一天)

解决方案 »

  1.   

    select userinfo_name,count(1) from userinfo group by date_format(dlcsb_date,'%Y-%m-%d'),userinfo
      

  2.   

    SELECT userinfo_id,
    userinfo_name,
    ( SELECT COUNT(DISTINCT(DATENAME(YEAR,dlcsb_date) + '-' + DATENAME(MONTH,dlcsb_date) + '-' + DATENAME(DAY,dlcsb_date)))
    FROM dlcsb WHERE userinfo_id = userinfo.id)AS '总共多少天',
    ( SELECT COUNT(*) FROM dlcsb WHERE userinfo_id = userinfo.id)AS '总共多少次'
    FROM userinfo
      

  3.   

    SELECT *,
    ( SELECT COUNT(DISTINCT(DATENAME(YEAR,dlcsb_date) + '-' + DATENAME(MONTH,dlcsb_date) + '-' + DATENAME(DAY,dlcsb_date)))
    FROM dlcsb WHERE userinfo_id = userinfo.id)AS '总共多少天',
    ( SELECT COUNT(*) FROM dlcsb WHERE userinfo_id = userinfo.id)AS '总共多少次'
    FROM userinfo