gpt4 book ai didi

sql - 配置单元 SQL : Other ways to delete rows with a similar ID

转载 作者:可可西里 更新时间:2023-11-01 17:00:32 25 4
gpt4 key购买 nike

我有一个包含多个列的表格。这是一个示例(列数较少):

PROTOCOL   LINE_FORMAT   SERVICE    MSISDN   
c3p0 solid cyborg 639275487638
r2r2 rounded amech 639124512070
c3pX etc.. etc.. 639275487638
bxSer hard comm 639200020006

现在,MSISDN已经出现了两次。据推测,结果应该只包含一个唯一的 MSISDN,而不考虑其他数据 - 尽管这并不意味着不需要其他数据。

这是我尝试过的:

SELECT max(PROTOCOL), max(LINE_FORMAT), max(NEURALITIC), max(OP_SERVICE1), max(OP_SERVICE2), max(OP_SERVICE3), max(DATESTAMP), max(APP_NAME), max(IMSI), MSISDN, max(OP_ID), max(OP_LOCATION_ID), max(ROAMER_FLAG), max(TAC), max(LOCATION_LAYER1), max(LOCATION_LAYER2), max(LOCATION_LAYER3), max(LOCATION_LAYER4), max(LOCATION_LAYER5), max(SGSN), max(GGSN), max(APN), max(WEBDOMAIN), max(PROBE_NAME), max(FILE_ID), max(RAT), max(OUT_BYTES), min(IN_BYTES), max(TRANSACTION_COUNT) 
FROM june21dataloader WHERE NEURALITIC LIKE "%Application Usage%" AND WEBDOMAIN LIKE "%bpiexpressonline.com%" GROUP BY MSISDN;

现在,当我尝试这样做时,我很确定我得到了独特的 mobtels - 这是因为原始的 2000 万行,它只返回了 2900 左右。

麻烦的是,当预计输出为至少 6k++

这里有些可疑。我的查询有问题吗?如果我放弃 max() 会发生什么?

现在,我的问题是,还有哪些其他方法可以完成这项工作?据我所试,DISTINCT 似乎并不只在单个列上工作,而 GROUP BY 一直在询问所有列名(我不是甚至确定它是否会产生一个唯一的 MSISDN)。

谢谢。

最佳答案

你可以做类似的事情

SELECT * FROM
(SELECT *, RANK() OVER (PARTITION BY MSISDN ORDER BY <CreatedDateOrSomething>) AS Rank
FROM <Your_Table>) AS SUBQUERY
WHERE Rank = 1

这将为您提供每个 MSISDN 的一个条目。其余列将是具有最小 CreatedDateOrSomething 的条目的数据

但如果其他数据真的无关紧要,那你为什么不这样做

SELECT DISTINCT(MSISDN) FROM <Your_Table>

?

关于sql - 配置单元 SQL : Other ways to delete rows with a similar ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com