用于制作列表等的 SQL 查询
Posted
技术标签:
【中文标题】用于制作列表等的 SQL 查询【英文标题】:SQL query to make a list and more 【发布时间】:2016-12-25 16:26:52 【问题描述】:下面是插入数据的表格。
CREATE TABLE police(event_id VARCHAR(100), search_type VARCHAR(1000),
reported_by VARCHAR(100));
INSERT INTO police VALUES ('gng67g6yf', 'person','ceridigion' );
INSERT INTO police VALUES ('bfewbqfjhfb', 'person', 'ceridigion' );
INSERT INTO police VALUES ('ytftdfctg', 'n/a','ceridigion' );
INSERT INTO police VALUES ('yufvugyu', 'person','pembrokeshire', );
我想要找出的是一个查询,它将列出报告的_by,并包含在这些区域中发生的搜索。如下所示:
reported_by Stopped and searched
ceridigion 2
pembrokeshire 1
【问题讨论】:
【参考方案1】:SELECT reported_by,
SUM(CASE WHEN search_type = 'person' THEN 1 ELSE 0 END) AS `Stopped and searched`
FROM police
GROUP BY reported_by
演示在这里:
SQLFiddle
【讨论】:
【参考方案2】:如果我理解正确,您只需要计算行数(每个 reported_by
的 search_type
不是 n/a
:
SELECT reported_by, COUNT(*) AS "Stopped and searched"
FROM police
WHERE search_type != 'n/a'
GROUP BY reported_by
【讨论】:
以上是关于用于制作列表等的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章