|  |      1autotesting      2018-10-20 10:53:55 +08:00 借问一个问题,如果用 sql 语句先对某几个字段 group_by 了之后,如何取到关于这几个字段分组后,所有其他数据的整体数据呢? | 
|  |      2iappled      2018-10-20 10:58:07 +08:00 @autotesting count sum | 
|  |      3sfqtsh      2018-10-20 12:21:56 +08:00 via Android rc1 时就已经说会在 18 号发布正式版 11.0 了。 | 
|  |      4JackieMe      2018-10-20 13:18:32 +08:00 Dedian sid 貌似前几天就已经有了。 | 
|  |      5Klingon      2018-10-20 16:10:56 +08:00 @autotesting 每天看懂你需求,你是要分组聚合还是分窗口,好像你要问的是窗口函数 | 
|  |      6autotesting      2018-10-20 17:05:40 +08:00 @iappled 不是 group by 取 count 或者 sum,而是 count 中的所有对象。 | 
|  |      7autotesting      2018-10-20 17:08:55 +08:00 @Klingon 分组后取到所有此分组的所有对象,而不是仅仅是 count 或者 max min 这样的结果。 | 
|      8ShareDuck      2018-10-20 17:17:19 +08:00 @autotesting #7 那么你不应该是用 where 就能解决问题了么?为何要用 group by ? | 
|  |      9autotesting      2018-10-20 17:20:31 +08:00 @ShareDuck 是需要先分组,然后对应的取到每个分组的所有对象,用 where 的话,我应该是先知道查询条件才能 where 吧,我是不是理解的不对? | 
|  |      10zjp OP  1 @autotesting 中文的分组和 SQL 的 group by 含义不一样,group by 后每组只能有一行输出。你要的还是窗口。 | 
|      11ShareDuck      2018-10-20 17:45:57 +08:00 @autotesting #9 那你的需求应该是先“获取表中某个列有多少个不同值”,这个操作不应该用 group by 吧,用 SELECT DISTINCT,参考 http://www.w3school.com.cn/sql/sql_distinct.asp | 
|      12ShareDuck      2018-10-20 17:49:05 +08:00 @autotesting #9  查了一下“窗口”的资料,10 楼的方案应该是你需要的。 | 
|      13paodange      2018-10-20 19:27:01 +08:00 via Android | 
|  |      14autotesting      2018-10-21 00:38:58 +08:00 | 
|  |      15zjp OP 直觉上不可能。关系数据库的单位是元组,也就是行,不能嵌套。结果集也只有行和列属性 @autotesting | 
|  |      16zjp OP | 
|  |      17jamblues      2018-10-21 01:38:11 +08:00 via iPhone 二楼应该是问的典型排行榜问题 在多个分类下如何取出每个排行榜的前 N 条数据 | 
|      18paodange      2018-10-21 03:09:43 +08:00 via Android @autotesting 这样的话,把 COL1 查两次,按 COL1 排序不就好了吗? select COL1 as XXX,* from table order by COL1,ID | 
|  |      19hrong      2018-10-21 08:20:24 +08:00 | 
|  |      20autotesting      2018-10-21 09:09:42 +08:00 @zjp 对 | 
|  |      21aborigine      2018-10-22 00:29:12 +08:00 via iPad MySQL 可以用 group_concat 实现 postgresql 不清楚 | 
|  |      22zjp OP @aborigine 新知识。也想过通过函数是可以做到,在 CLI 中输出还没什么问题,但是代码中解析结构集就很麻烦了。看起来还是代码层合并分组合理些 | 
|  |      23beginor      2018-10-22 06:09:27 +08:00 via Android 如果 mysql 的 group_concat 能解决的话,可以试试 pg 的 array_agg : select col1, array_agg(col2) as col2s from table group by col1 | 
|  |      25northernlights      2018-10-23 19:25:21 +08:00 个人的项目一直在用 PostgreSQL+.NET Core+EF Core+Docker |