我有两张桌子
活动
编号 | 区域标识 | 方法 |
和地区
编号 | 姓名 |
活动存储了几个不同的方法字符串,我最感兴趣的是“注销”
我需要的是找到注销最多的区域。我目前有这个:
SELECT MAX(regionId) FROM activity GROUP BY regionId WHERE method='logout'
我猜我需要在某处进行计数,但这个查询超出了我的想象。另外,我希望它返回 region.name 而不是 activity.regionId
谢谢
我有两张桌子
活动
编号 | 区域标识 | 方法 |
和地区
编号 | 姓名 |
活动存储了几个不同的方法字符串,我最感兴趣的是“注销”
我需要的是找到注销最多的区域。我目前有这个:
SELECT MAX(regionId) FROM activity GROUP BY regionId WHERE method='logout'
我猜我需要在某处进行计数,但这个查询超出了我的想象。另外,我希望它返回 region.name 而不是 activity.regionId
谢谢
尝试这个:
SELECT regionId, COUNT(method) AS count FROM activity WHERE method = 'logout' ORDER BY count DESC LIMIT 1;
如果您需要名称而不是区域 ID,您可以这样做:
SELECT region.name, COUNT(activity.method) AS count FROM region, activity WHERE region.regionId = activity.regionId AND activity.method = 'logout' ORDER BY count DESC LIMIT 1;