
突然想到这样的一个需求,思考了一下, 一时没有思路,请教一下大家。
1 flyingfz OP 貌似 用 CASE when 语句, 能解决问题。。。。 |
2 rb6221 2018 年 4 月 28 日 高考没那么大数据吧 各省自己统计自己的,百万都不到 |
3 iiduce 2018 年 4 月 28 日 开玩笑的讲,猜测事实的解决方法有可能是级级上报,这一级解决不了就让小一级的上报,最后是班主任让班长统计一下班里的,很简单啦。 |
4 DreaMQ 2018 年 4 月 28 日 先暂且假设你能得到精确到个人的数据 SELECT count(*) FROM <table> WHERE score = ? 对每一个分数跑一次,然后就可以做各种统计了吧 高考全国最多也就千万量级 |
5 vegito2002 2018 年 4 月 28 日 group by 分, 然后 count 什么的 不行吗? 前提是分数保存的是整数 |
6 Smilencer 2018 年 4 月 28 日 case when + group by |
7 ReVanTis 2018 年 4 月 28 日 你们没有意识到这个问题需要生成的实际上是直方图而不是简单的 group by 分数吗。。。 ref: https://stackoverflow.com/questions/1764881/getting-data-for-histogram-plot |
8 layorlayor 2018 年 4 月 28 日 窗口函数??? |
10 zst 2018 年 4 月 28 日 via Android 高考分一定是整数的(至少我们是)直接 group by+count 就好了吧 按河南(我记得最大的)的量级也就是不到百万 还得文理分开 |
11 qwjhb 2018 年 4 月 28 日 这种? |
12 doubleflower 2018 年 4 月 28 日 via Android 循环 1 到 100 查 100 次不就行了 |
13 pmispig 2018 年 4 月 28 日 这种静态的没必要一条语句做到,从 0-700,生成 700 条语句执行,写一个新表就行了 |
14 jydeng 2018 年 4 月 28 日 group by,然后 count 最直接了 |
15 worldnode 2018 年 4 月 28 日 我突然想到的是,高考要靠 sql .... |
16 takato 2018 年 4 月 28 日 23333 楼主是在统计 orderbook 吗? |
17 bomb77 2018 年 4 月 28 日 一年全国的高考学生也就在一千万左右吧,group by 后 count 一下应该不会很慢,而且这种数据也不会变化,取一次就可以缓存起来了。。 |
18 breadenglish 2018 年 4 月 28 日 不要性能的话 case when + group by,子查询搞定。要性能的话加个表,存储刻度,然后关联搞定。 |
19 lafuerza 2018 年 4 月 28 日 该,最近 V2 上好多错别字 |
20 CEBBCAT 2018 年 4 月 28 日 via Android 没听懂,官方不是提供一分一档表吗?难道形势变了? |
21 banbo 2018 年 4 月 28 日 windowing function |
22 ctsed 2018 年 4 月 28 日 es 了解一下 |
23 qf19910623 2018 年 4 月 28 日 这种数据考完了就固定了,不会变动,不需要实时查询,可以分区域统计,甚至人工统计层层上报也没什么问题 |
24 beginor 2018 年 10 月 22 日 via Android 我来挖个坟, 使用 pg 生成序列函数,从 0 分到满分生成一个序列,再和分数表关联查询,貌似很容易吧 |
25 reus 2018 年 11 月 19 日 SELECT count(*), score / 10 FROM scores GROUP BY score / 10 不就行了……想那么复杂 这个查询在 pg 11 下,是并行扫描的 而且,还能建索引 CREATE INDEX ON scores USING btree((score / 10)) |