数据库03 --- group by和count

 

count() ,count的的是组内的

SELECT count(*)
FROM sys_user u JOIN sys_log_account sla ON u.id=sla.user_id
WHERE u.usertype=3 AND date(sla.login_time) = date(NOW())
GROUP BY u.id
--》

18
26

这样不分组计算的是所有行数。

SELECT count(*)
sys_user u JOIN sys_log_account sla ON u.id=sla.user_id
u.usertype=3 AND date(sla.login_time) = date(NOW())

--》44

 本来想group by 然后count 以为结果会是两条数据,但是结果却是count每一组的。

 

 

distinct和group by。

SELECT DISTINCT u.id,count(*)
sys_user u JOIN sys_log_account sla ON u.id=sla.user_id
u.usertype=3 AND date(sla.login_time) = date(NOW())
BY u.id

--》

id count(*)
12 18
13 30

 

posted @ 2020-10-29 17:15  ??,uunu  阅读(182)  评论(0编辑  收藏  举报