如何在MYSQL中使用GROUPBY、count和where
我有一张桌子,描述如下: 表1如何在MYSQL中使用GROUPBY、count和where,mysql,Mysql,我有一张桌子,描述如下: 表1 id (int), link (varchar512), text (varchar80), status (varchar10), created (timestamp), updated (timestamp), user (varchar) 我需要做的是获取两个时间戳之间每个用户的行总数 例如,我想得到数据库中用户的总行数。这只是一个简单的问题 SELECT user, COUNT(*) FROM table_name GROUP BY user;
id (int),
link (varchar512),
text (varchar80),
status (varchar10),
created (timestamp),
updated (timestamp),
user (varchar)
我需要做的是获取两个时间戳之间每个用户的行总数
例如,我想得到数据库中用户的总行数。这只是一个简单的问题
SELECT user, COUNT(*) FROM table_name GROUP BY user;
如果我想获得所有行,例如10月份,我可以:
SELECT * FROM table_name WHERE created > "2016-10-01 00:00:00" and created < "2016-11-31 23:59:59"
从创建的表名称中选择*>“2016-10-01 00:00:00”并创建<“2016-11-31 23:59:59”
我的问题是,我不能将两者结合起来。我试过了,结果发现语法错误。我认为我需要运行where查询,然后根据该查询进行计数,但我不确定如何进行计数。SELECT user,count(*)
SELECT user, COUNT(*)
FROM table_name
WHERE created >= '2016-10-01'
and created < '2016-12-01'
GROUP BY user;
从表\u名称
创建位置>='2016-10-01'
并创建了<'2016-12-01'
按用户分组;
顺便说一句,因为11月只有30天,所以没有日期2016-11-31
。希望这有帮助
SELECT user, count(*)
FROM table_name
WHERE created > "2016-10-01 00:00:00" and created < "2016-11-31 23:59:59"
GROUP BY user;
选择用户,计数(*)
从表\u名称
其中创建>“2016-10-01 00:00:00”和创建<“2016-11-31 23:59:59”
按用户分组;
对不起,你试了什么?你看过mysql文档吗?这是where和group by的简单组合。这里没有魔法,可以原谅吗?此外,mysql文档完全是拜占庭式的。我也没说什么魔法。