SQL:在一组关系中找到最稀有和最常见的值

时间:2016-10-16 03:24:42

标签: python sql sqlite relational-database schema

我的架构看起来像这样:

pid     name

外观

pid     latitude    longitude   datetime

pid     major (1/0)     type

我试图用Python编写一个函数,找到每个类最稀有和最常见的人。我的函数将我的数据库名称Collections作为输入,并且我试图让它返回一个列表,其中包含每个不同类类型的元组和具有最多和最不常见人名的列。这就是我到目前为止所做的:

def rareCommon(){
    c.execute('SELECT COUNT(mid) AS Most Common FROM Appearance')
}

由于其子查询很自然,我在查询方面遇到了很多麻烦。如果有人在这里帮助我,那将非常感激。

1 个答案:

答案 0 :(得分:0)

只是在黑暗中刺伤......我同意@ 2ps评论 - 你对细节有点了解。

SQL部分可能看起来有点像

SELECT pc.pid,
       MIN(pc.p_count) rare,
       MAX(pc.p_count) most_common
  FROM (SELECT a.pid, 
               COUNT(*) p_count
          FROM appearance a
         GROUP BY a.pid) pc
 GROUP BY pid