从配置单元中检索不同的ID?

eivgtgni  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(263)

我的数据如下:

id名称状态

1金妮
新泽西州丹尼1号
1金进
2汤姆帕
2山姆ca
3马特哦
4凯尔
我需要得到不同的ID和所有剩余的数据。
输出:

id名称状态

1金妮
2汤姆帕
3马特哦
4凯尔
我使用了“selectdistinct(id),name,statefrompopulation”,我得到的输出与输入相同。

66bbxpm5

66bbxpm51#

如果您只想获得不同的ID,那么您应该这样选择:

select distinct(id) from population;

不能简单地使用distinct id并期望获得其他列。你能描述一下你想得到什么样的结果吗?

lokaqttq

lokaqttq2#

您得到的结果与您的输入相同,因为distinct可用于选择列表中的所有列,而不仅仅是括号中的列。要获得ID和名称的不同列表,可以按这两列进行分组。

CREATE table #tmp (ID INT, name VARCHAR(10), State VARCHAR(2))
INSERT INTO #tmp VALUES(1, 'kim', 'ny')
INSERT INTO #tmp VALUES(1, 'kim', 'nj')
INSERT INTO #tmp VALUES(1, 'kim', 'in')
INSERT INTO #tmp VALUES(2, 'tom', 'pa')
INSERT INTO #tmp VALUES(2, 'tom', 'ca')
INSERT INTO #tmp VALUES(3, 'matt', 'oh')
INSERT INTO #tmp VALUES(4, 'kyle', 'oh')

SELECT ID, name, COUNT(*) AS 'State_Count' FROM #tmp
GROUP BY ID, name

相关问题