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