【转】group by多个字段理解】的更多相关文章

来源:http://uule.iteye.com/blog/1569262 首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素:   (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.   (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having 下面看下 group by多个条件的分析: 在SQL查询器…
mysql语句中group by 很容易理解 是分组查询.比如 select sum(score) from user group by name 意思是查询每个人的分数总和但是, select sum(score) from user group by item, sex 呢?下面是测试结果. 测试数据如下: 查询结果如下: 根据结果分析group by 多个字段的含义是,分别以每个字段的不同组合分组本例 item=数学 sex=1 和 item=数学 sex=2 就会分到不同组中,以此达到计…
hive> select * from app_data_stats_historical where os='1' group by dt limit 100; 出现结果如下: 2014-01-01 2014-01-06 ...... 2014-02-07 2014-02-10 2014-02-14 2014-02-17 2014-02-24 (只返回了一列日期.说明* 不起作用.不过这样,可以查看总共哪些日期,有效,存在数据) 加上having命令,having只作用于group by中的字…
众所周知,group by 一个字段是根据这个字段进行分组,那么group by 多个字段的结果是什么呢?由前面的结论类比可以得到,group by 后跟多个子段就是根据多个字段进行分组 注:下面的例子是在网上找到的,仅供参考: 比如有一个学生选课表,表结构如下: Table: Subject_Selection Subject Semester Attendee ITB001 1 John ITB001 1 Bob ITB001 1 Mickey ITB001 2 Jenny ITB001 2…
重复记录 有两个意义,一是完全重复的记录,也即所有字段均重复的记录 二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集. 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 select distinct * into #Tmp from tableName drop table tableName sele…
工作中经常会遇到,要在sql中查询报表,查询结果要求按照日期来罗列, 或按照天, 或按照月,年. 这个时候我们经常会苦恼,datetime是精确到毫秒的,如果单纯的group by datetime就会导致结果不正确. 这是我们可以利用convert函数: SELECT convert(varchar(10),CreateDate,120) ,var1 ,var2 FROM Table GROUP BY convert(varchar(10),CreateDate,120) ASC 第一个参数是…
Linq to sql 使用group by 统计多个字段,然后返回多个字段的值,话不多说,直接上例子: where u.fy_no == fy_no orderby u.we_no group u by new { weno = u.we_no, wename = u.we_name } into g select new { g.Key.weno, g.Key.wename }; 结果就是根据we_no和we_name的统计结果,返回这两个字段的数据.…
转载自:http://blog.csdn.net/l1028386804/article/details/54657412 假设有一个业务场景,需要查询用户登录记录信息,其中表结构如下: CREATE TABLE `tb` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `ip` varchar(16) NOT NULL, `login_time` datetime, PRIMARY KEY (`id`), KEY …
原先用 select key,max(value) from tbl group by key 查询出的结果,但是我要再多加一个TEST字段 根据网友的语句结合起来,以下是可以显示其他字段,并且考虑排名相同的情况: select T.key, T.value, LISTAGG(T.test, ',') WITHIN GROUP( ORDER BY T.key, T.value) --同名排名用','分隔 from ( select rank() --跳序排序1.1.3... over(parti…
group by 的简单说明:  group by 一般和聚合函数一起使用才有意义,比如 count sum avg等 使用group by的两个要素:   (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的.   (2) 要筛选结果 可以先使用where 再用group by 或者先用group by 再用having 下面看下 group by多个条件的分析: ---------- 测试数据初始化    begin ------------------…