Android查询多列获取计数
Android query multiple columns get count
我正在尝试查询一个 table 并得到一个结果,该结果将在一个有 10 列的 table 中显示所有水果条目。这是 table 结构。
Table 1
Name Col2 Col3 ... Col11
Apple Pie Apple Cinnamon ... Flour
Sugar Cookie Flour Sugar ... Vanilla
我试过这个 sql 查询,结果接近我要找的结果。
SELECT
Col2 as Flavor, COUNT(*)
FROM
table 1
group by Flavor
我遇到的问题是弄清楚如何获取查询中的其他 9 列。预期结果应该是。
Flavor Count
Apple 1
Cinnamon 1
Flour 2
Sugar 1
Vanilla 1
感谢所有引导我走向正确方向的评论。谁能帮忙解决这个问题?
您可以按如下方式获取列表中某个项目的出现次数:
import java.util.Collections;
// count the occurrence of item one in the list
int itemOneCount = Collections.frequency(listitem,"item one");
再次感谢您的帮助!这些评论使我找到了正确的答案。这是解决方案。
SELECT SUM(Output.count),Output.attr
FROM
(
SELECT COUNT(flv1name) AS count,flv1name AS attr FROM recipes GROUP BY flv1name
UNION ALL
SELECT COUNT(flv2name) AS count,flv2name AS attr FROM recipes GROUP BY flv2name
UNION ALL
SELECT COUNT(flv3name) AS count,flv3name AS attr FROM recipes GROUP BY flv3name
UNION ALL
SELECT COUNT(flv4name) AS count,flv4name AS attr FROM recipes GROUP BY flv4name
UNION ALL
SELECT COUNT(flv5name) AS count,flv5name AS attr FROM recipes GROUP BY flv5name
UNION ALL
SELECT COUNT(flv6name) AS count,flv6name AS attr FROM recipes GROUP BY flv6name
UNION ALL
SELECT COUNT(flv7name) AS count,flv7name AS attr FROM recipes GROUP BY flv7name
UNION ALL
SELECT COUNT(flv8name) AS count,flv8name AS attr FROM recipes GROUP BY flv8name
UNION ALL
SELECT COUNT(flv9name) AS count,flv9name AS attr FROM recipes GROUP BY flv9name
UNION ALL
SELECT COUNT(flv10name) AS count,flv10name AS attr FROM recipes GROUP BY flv10name) AS Output
GROUP BY attr
这会将结果显示为
SUM.Output.Count attr
1 Apple
1 Cinnamon
2 Flour
1 Sugar
1 Vanilla
我正在尝试查询一个 table 并得到一个结果,该结果将在一个有 10 列的 table 中显示所有水果条目。这是 table 结构。
Table 1
Name Col2 Col3 ... Col11
Apple Pie Apple Cinnamon ... Flour
Sugar Cookie Flour Sugar ... Vanilla
我试过这个 sql 查询,结果接近我要找的结果。
SELECT
Col2 as Flavor, COUNT(*)
FROM
table 1
group by Flavor
我遇到的问题是弄清楚如何获取查询中的其他 9 列。预期结果应该是。
Flavor Count
Apple 1
Cinnamon 1
Flour 2
Sugar 1
Vanilla 1
感谢所有引导我走向正确方向的评论。谁能帮忙解决这个问题?
您可以按如下方式获取列表中某个项目的出现次数:
import java.util.Collections;
// count the occurrence of item one in the list
int itemOneCount = Collections.frequency(listitem,"item one");
再次感谢您的帮助!这些评论使我找到了正确的答案。这是解决方案。
SELECT SUM(Output.count),Output.attr
FROM
(
SELECT COUNT(flv1name) AS count,flv1name AS attr FROM recipes GROUP BY flv1name
UNION ALL
SELECT COUNT(flv2name) AS count,flv2name AS attr FROM recipes GROUP BY flv2name
UNION ALL
SELECT COUNT(flv3name) AS count,flv3name AS attr FROM recipes GROUP BY flv3name
UNION ALL
SELECT COUNT(flv4name) AS count,flv4name AS attr FROM recipes GROUP BY flv4name
UNION ALL
SELECT COUNT(flv5name) AS count,flv5name AS attr FROM recipes GROUP BY flv5name
UNION ALL
SELECT COUNT(flv6name) AS count,flv6name AS attr FROM recipes GROUP BY flv6name
UNION ALL
SELECT COUNT(flv7name) AS count,flv7name AS attr FROM recipes GROUP BY flv7name
UNION ALL
SELECT COUNT(flv8name) AS count,flv8name AS attr FROM recipes GROUP BY flv8name
UNION ALL
SELECT COUNT(flv9name) AS count,flv9name AS attr FROM recipes GROUP BY flv9name
UNION ALL
SELECT COUNT(flv10name) AS count,flv10name AS attr FROM recipes GROUP BY flv10name) AS Output
GROUP BY attr
这会将结果显示为
SUM.Output.Count attr
1 Apple
1 Cinnamon
2 Flour
1 Sugar
1 Vanilla