首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从具有公共值和不同值的coloumn1(状态)和列(城市)的表中提取记录

如何从具有公共值和不同值的coloumn1(状态)和列(城市)的表中提取记录
EN

Stack Overflow用户
提问于 2017-05-15 07:53:58
回答 3查看 1.2K关注 0票数 0

假设表Geogrpahy中第一列为“State”,第二列为“城市”,如下所示:

代码语言:javascript
运行
复制
State  City
S1      C1
S2      C2
S3      C3
S4      C2
S1      C1
S2      C3
S3      C4
S9      C2

如何拥有多个城市的州?

如何与普通城市共建州?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-16 05:48:31

在您的情况下,州和城市组合在表中是多倍的,例如(S1,C1)。因此,首先将桌子分组,以区分这两种组合。

因此,查询有多个城市的州如下所示

代码语言:javascript
运行
复制
SELECT        States, COUNT(City) AS NoofCities
FROM            (SELECT        States, City
                          FROM            Geogrpahy
                          GROUP BY States, City) AS TT
GROUP BY States  having COUNT(City)>1

为了让其他州的城市也做以下的事情

代码语言:javascript
运行
复制
select States,City from Geogrpahy  as geography1 where City in (select City from Geogrpahy where Geogrpahy.States!=geography1.States)   

同样,如果只想获得状态,则将其分组为状态。

票数 0
EN

Stack Overflow用户

发布于 2017-05-15 08:27:48

代码语言:javascript
运行
复制
--Microsoft SQL Specific:
--States with multiple cities
SELECT [State] ,count (distinct [City]) as Cities_Count
   FROM [dbo].[Geogrpahy]
   group by [State]
   having count (distinct [City]) > 1


--Cities in multiple States

select * from [Geogrpahy]
where [City] in (
select [City] from (
SELECT [City] ,count (distinct [State]) as State_Count
       FROM [dbo].[Geogrpahy]
       group by [City]
       having count (distinct [State]) > 1) a)
order by City, [State]
票数 1
EN

Stack Overflow用户

发布于 2017-05-15 07:58:38

使用下面的查询获取具有多个城市的州

代码语言:javascript
运行
复制
SELECT State  , COUNT(*) AS NO_OF_City FROM Geogrpahy 
GROUP BY State  HAVING COUNT(*) > 1 ORDER BY State  ; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43974108

复制
相关文章

相似问题

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