这是我的第一个选择:
Set<Object>
结果:
private void iterHelper(Set<Map.Entry<String, ?>> entrySet , LinkedHashMap<String, Object> result) {
for (Map.Entry<String, ?> entry : entrySet) {
String tmpkey = entry.getKey();
if (tmpkey.startsWith("KEY")) {
result.put(entry.getKey(), entry.getValue());
}
}
}
user_id的最大值:
LinkedHashMap<String, Object> result = new LinkedHashMap<>();
Set<Map.Entry<String, ?>> entrySet = ...;
iterHelper(entrySet, result);
我需要在['25 -34','65 +']中过滤年龄
我必须在结尾处>
SELECT
user.id, analytic_youtube_demographic.age,
analytic_youtube_demographic.percent
FROM
`user`
INNER JOIN
analytic ON analytic.user_id = user.id
INNER JOIN
analytic_youtube_demographic ON analytic_youtube_demographic.analytic_id = analytic.id
非常感谢您的帮助。
尝试使用---------------------------
| id | Age | Percent |
|--------------------------
| 1 |13-17| 19,6 |
| 1 |18-24| 38.4 |
| 1 |25-34| 22.5 |
| 1 |35-44| 11.5 |
| 1 |45-54| 5.3 |
| 1 |55-64| 1.6 |
| 1 |65+ | 1.2 |
| 2 |13-17| 10 |
| 2 |18-24| 10 |
| 2 |25-34| 25 |
| 2 |35-44| 5 |
| 2 |45-54| 25 |
| 2 |55-64| 5 |
| 1 |65+ | 20 |
---------------------------
。但是我也不知道该如何过滤年龄。
非常感谢您的帮助。
答案 0 :(得分:0)
您可以使用b
函数来确定每个用户数据集中的最大百分比值,然后使用一个简单的rank()
子句来获取那些既是最高排名又属于一个条目的条目由于您无法在WHERE
子句中使用像rank()
这样的窗口函数,因此这是一个包含子查询或CTE的两步过程。这样的事情应该做到:
WHERE