【问题标题】:Use number of distinct values from a column as select criteria使用列中不同值的数量作为选择标准
【发布时间】:2015-01-07 15:30:01
【问题描述】:

我在 mysql 数据库中有以下架构

Field       |  Type   |    Null  |  Key  |  Default  |  Extra
------------+---------+----------+-------+-----------+---------
answerId     int(11)      NO       PRI     NULL
answerDate   datetime     YES              NULL
creationDate datetime     YES              NULL
questionId   int(11)      NO       PRI     0
url          text         YES              NULL
description  text         YES              NULL

此表存储问题和答案的关系,其中一个问题与一个或多个答案相关。我想做的是选择答案超过 5 个的问题。能找回来吗?

【问题讨论】:

  • 您如何将问题与其在数据库中的答案联系起来?
  • 提示:group by, having.

标签: mysql sql select relational-database


【解决方案1】:

它对你有用吗?

SELECT questionId
FROM question_answer
GROUP BY questionId
HAVING COUNT(*) >5 

旁注。其他一些属性urlcreationDatedescription,似乎没有描述问题和答案之间的关系...

【讨论】:

    【解决方案2】:
    Select questionID, count(*) as totalAnswers from qanda
    group by questionID
    having totalAnswers > 5
    

    Example SQL Fiddle

    【讨论】:

      【解决方案3】:
       SELECT *
       FROM table 
       GROUP BY questionId   
       HAVING count(questionId)> 5
      

      sql fiddle

      【讨论】:

        猜你喜欢
        • 2018-10-30
        • 2011-10-14
        • 1970-01-01
        • 1970-01-01
        • 2020-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-30
        相关资源
        最近更新 更多