求大神帮忙我的mysql语句 ,我有 三个表,users , companys , user_log 这三个表分别是用户表,公司表,用户登录表, 现在我要求一个企业的登录人数,users表里面有companysid,user_log里面有usersid,sql语句该怎么写呢.. .. 没写出来..请大神帮忙 ..谢谢了..急啊...
select b.num from user_log a, companys b,users c where c.companysid = ? and a.userid=?;可以试试
select 登录人数 from users inner join user_log on users.userid=user_log.userid inner join companys on companys.companysid=users.companysid
CREATE TABLE USERS(
USERS_ID VARCHAR(20),
COMPANY_ID VARCHAR(20)
)
CREATE TABLE COMPANY(
COMPANY_ID VARCHAR(20),
COMPANY_NAME VARCHAR(20)
)
CREATE TABLE USER_LOG(
USERS_ID VARCHAR(20)
)
select count(users_id) as usernums
,SUM(login_nums) as loginnums
,(select COMPANY_NAME from COMPANY where COMPANY_ID=c.COMPANY_ID) as cname
from (
SELECT T.*,(SELECT COMPANY_ID FROM USERS WHERE USERS_ID=T.USERS_ID) AS COMPANY_ID
from(
SELECT USERS_ID,COUNT(USERS_ID) AS LOGIN_NUMS FROM USER_LOG GROUP BY USERS_ID
) T
) c group by COMPANY_ID
select b.id,count(distinct a.id),count(0) from users a,companys b,user_log c where a.companysid = b.id and a.id = c.usersid group by b.id;