gpt4 book ai didi

MySQL 分组依据和 COUNT

转载 作者:行者123 更新时间:2023-11-29 14:48:26 25 4
gpt4 key购买 nike

我有一个包含以下列的表格:

唯一ID远程IP地址平台

我想创建一个查询,它基本上只显示每个平台的每个 IP 地址一次,并计算有多少个不同的平台条目

SELECT platform, COUNT(platform) 
FROM fuckedapps_dm_appdl dm
GROUP BY platform
ORDER BY COUNT(platform) DESC

例如下表所示:

uniqueID---remote_ip_addr----platform
1 20.15.1.234 iPhone
2 20.15.1.234 iPhone
3 20.15.1.234 iPhone
4 20.15.1.234 Android
5 20.15.1.234 Android

我会得到以下结果:

platform----COUNT(platform)
iPhone 1
Android 1

现在我得到以下信息:

platform----COUNT(platform)
iPhone 3
Android 2

因为它们都是相同的 IP,所以我只想获得 1 个不同的值...

感谢您的帮助。

编辑:我应该提到还有另一个字段,称为 app_id。

所以表格更像是:

uniqueID---remote_ip_addr----platform---app_id
1 20.15.1.234 iPhone 23
2 20.15.1.234 iPhone 23
3 20.15.1.234 iPhone 18
4 20.15.1.234 Android 24
5 20.15.1.234 Android 25

在这种情况下,我希望结果是:

platform----COUNT(platform)
iPhone 2
Android 2

谢谢您,很抱歉,因为我认为它不相关,但现在我发现它是相关的。

最佳答案

如果我理解正确的话,您需要每个平台的不同 IP 地址的数量。然后你就可以使用这个了。请注意每个 (GROUP BY) 平台的 DICTINCT remote_ip_addrCOUNT 操作:

SELECT platform
, COUNT(DISTINCT remote_ip_addr) AS countDistinctIPaddresses
FROM fuckedapps_dm_appdl dm
GROUP BY platform
ORDER BY countDistinctIPaddresses DESC
<小时/>

OP更新后。 (顺便改变问题不是一个好习惯)。

尚不清楚您是否希望每个平台都有不同的 app_ids:

SELECT platform
, COUNT(DISTINCT app_id)
AS cnt
FROM fuckedapps_dm_appdl dm
GROUP BY platform
ORDER BY cnt DESC

或每个平台的 (app_id,remote_ip_addr) 的不同组合:

SELECT platform
, COUNT(DISTINCT app_id, remote_ip_addr)
AS cnt
FROM fuckedapps_dm_appdl dm
GROUP BY platform
ORDER BY cnt DESC

取决于想要的结果是什么,假设您还有一行:

uniqueID---remote_ip_addr----platform---app_id
6 100.30.1.40 iPhone 23

关于MySQL 分组依据和 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6341003/

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