MySQL使用GROUP BY后查询总记录数

test表

要查出某个用户具有哪些操作,即把操作进行组合

以下的SQL可以达到目的

SELECT NAME,GROUP_CONCAT(operation) AS operation
FROM test
GROUP BY NAME

接着要查出这样的用户有多少个,直接在SELECT后加上COUNT()函数已经不起作用了。

一种解决方式是把查询结果当作一张表,在外层用SELECT COUNT(*)

SELECT COUNT(*) FROM
(
SELECT NAME,GROUP_CONCAT(operation) AS operation
FROM test
GROUP BY NAME
) AS t

另一种更简单的方式是使用DISTINCT关键字

SELECT COUNT(DISTINCT NAME) FROM test
时间: 2024-10-07 11:48:29

MySQL使用GROUP BY后查询总记录数的相关文章

hibernate查询总记录数

@Override    public Integer getCount() {        return getHibernateTemplate().execute(new HibernateCallback<Integer>(){ @Override            public Integer doInHibernate(Session session) throws HibernateException {                String hql="se

MYSQL使用group by,如何查询出总记录数

比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计 这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到 一种解决方法是在外面套一层,然后对其count(*) SELECT COUNT(*) FROM (SELECT t.report_date ,t.user_id FROM my_table t GROUP BY t.user_id,t.report_date ) AA 还有一种简单的方法可以这样写 SELECT COUNT(DISTINCT

mysql 怎么查询出,分组后的总条数。。。也就是有多少组数。。。。怎么写

SELECT COUNT(*) AS 多少组数FROM( SELECT id FROM 表 GROUP BY id) subQuery;Mysql,有一个表含有以下字段,uid 发帖人id,title 发帖标题,tc 发帖内容,time 发帖时间,用一条语句算出昨天发帖书大于10的,一共有多少人? select count(*) from (select distinct startperson_id,count(startperson_id) as num from apphome_finan

group by 获取总记录数

sql中有group buy 后如何获取总记录的条数,来生成分页 当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题 1.适用于所有情况 $db = new PDO(DSN...); $db->setAttribute(array(PDO::MYSQL_USE_BUFFERED_QUERY=>TRUE)); #必须开启查询缓存 $rs = $db->query('SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 5,15'

sql查询总记录以及 查询每条光缆下的所涉及到表的信息

/*光缆有条少条隐患1,查询光缆表Optic_Cable, 2,根据光缆表关联的光缆巡检(轨迹巡检)的路线查标石(Optic_LinePat轨迹的路线名称),(Optic_LinePat_Sub,轨迹路线下的标石),3,然后根据标石关联巡检信息表中这个标石的所有隐患次数(Optic_LinePat_Rec巡检产生的信息表,根据上面查询到的标石进行隐患匹配)*/select a.光缆条数 as glcount,a.光缆长度 as gllength,b.正常端口 as yesdk,b.损坏端口 as

超市账单管理------之获取总记录数

根据以前写过的登录,现在来写一下获取总记录数根据上一个继续编写 1.在IUserInfoDAO中编写 1 //2.获取总记录数 2 public int getTotalCount(); IUserInfoDAO.xml 1 <!--2.获取总记录数--> 2 <select id="getTotalCount" resultType="int"> 3 select count(1) from smbms_user 4 </select

关于criteria分页中获取总记录数异常问题

一.情景在线 运维同事反馈了一个问题,说咱们查询分机号码的api 接口返回数据异常,具体的情况时是: 1.查询时第一页信息所返回的总记录数正确,数据正确. 2.查询第二页总记录数为 "0" ,数据为对应的第二页数据. what!!! 二.为题排查 按照同事的提供的线索,在本地复现发现-->果然如此! 传入当前页 pageNow>1 时 总数totel 将为零,且必现! 多次测试发现: 传入pageNow=1 控制台打印的sql select count(*) as y0_

[MSSQL]如何高效查询表的总记录数

如何高效查询表的总记录数?[总结-整理-马克] 首先想到的自然是在表主键上应用COUNT函数来查询了,这个是目前使用最多的方法,没有之一 SELECT COUNT(1) ROWS FROM product 这里再给出一些其它方法,这些方法或多或少会有一些限制,或者看起来不是那么"完美",但依然有一定的借鉴意义,信息量不大,请客官慢用 另类方法1 充分利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘,看代码 EXEC SP_SPACEUSED 'PRODUCT

分页的总记录数简单总结

提出:   页面一行显示10条数据,如果数据库有20条数据,就显示2页,如果数据库有28数据,就应该显示3页. 下面对如何计算进行分析. 解决: 方法一: if(totalRecord % pageSize == 0){ //如果数据库总记录数与页面显示条数整好相除(20 / 10 = 2),就是一般情况 totalPage = totalRecord / pageSize; }else{ //如果数据库总记录数与页面显示条数有多余条数(28 / 10 = 2.8),无法得到多余 //数据的页数