【问题标题】:SQLite count, group and order by countSQLite 计数、分组和按计数排序
【发布时间】:2011-10-08 08:35:03
【问题描述】:

我有一张如下所示的表格:

FOO  BAR  BAZ
----+----+----
foo1 bar1 baz1
foo2 bar3 baz2
foo3 bar1 baz3
foo4 bar1 baz4
foo5 bar3 baz5
foo6 bar1 baz6
foo7 bar2 baz7

因此,我想计算每个条在表格中出现的次数。所以,我要查找的输出如下所示:

BAR   COUNT
-----+-----
bar1    4
bar3    2
bar2    1

我可以在 SQLite 中查询类似的内容吗?我想这应该很容易,但无论如何我都不是 SQL 程序员,我只需要这个简单的查询作为 python 脚本的一部分。谢谢。

【问题讨论】:

    标签: sorting sqlite grouping counting


    【解决方案1】:
    SELECT foo, count(bar) FROM mytable GROUP BY bar ORDER BY count(bar) DESC;
    

    group by 语句告诉聚合函数按列对结果集进行分组。在这种情况下,“按栏分组”表示计算栏列中的字段数,按栏的不同“类型”分组。

    这里有更好的解释:http://www.w3schools.com/sql/sql_groupby.asp

    【讨论】:

    • 几乎.. 但让我走上了正轨。谢谢!如果有人需要,这是一个完整的解决方案:“SELECT bar, count(bar) FROM mytable GROUP BY bar ORDER BY count(bar) DESC”
    • 其实不是重复 count(bar) 两次,而是应该使用“AS”语句:“SELECT foo, count(bar) AS tot_bar_count FROM mytable GROUP BY bar ORDER BY tot_bar_count DESC;”跨度>
    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 2012-11-02
    相关资源
    最近更新 更多