首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sql查询以查找表中特定事件的最大小时

sql查询以查找表中特定事件的最大小时
EN

Stack Overflow用户
提问于 2015-03-29 10:45:57
回答 2查看 121关注 0票数 0

我有一个包含字段的表(清单-id int、crime_time时间戳、犯罪字符串、城市字符串)

表中只有9种独特的犯罪。我需要找出某一特定犯罪发生的时间(以最大次数计)。如果抢劫案是在10-11之间造成的,它必须显示10或11 .时间可能从00:00开始,到23:59结束。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-29 13:28:27

维奥德的答案几乎是正常的。

但你需要一组人才能把抢劫案算上时隙。

还需要为子查询放置别名。

代码语言:javascript
运行
复制
SELECT  period, max(nb)
FROM (
        SELECT extract(hour from crime_time) as period, count(*) as nb
        FROM crimes    
        WHERE crime_string = 'Robbery'
        GROUP BY extract(hour from crime_time)   
    ) as  subquery_alias
GROUP BY period
票数 0
EN

Stack Overflow用户

发布于 2015-03-29 11:48:13

这应该可以,但是我还没有对它进行测试(而且您可能需要找到我使用的postgres函数的单元格对应物:extract (doc在这里可用:http://www.postgresql.org/docs/9.1/static/functions-datetime.html)。

代码语言:javascript
运行
复制
SELECT max(nb), period
FROM (
    SELECT count(*) as nb, period
    FROM (
        SELECT crime_string, extract(hour from crime_time) as period
        FROM crimes
        WHERE crime_string = 'Robbery'
    )
    GROUP BY period
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29328159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档