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