在一列中选择值,其中该值不会在其他列中出现5次

时间:2015-11-19 03:45:57

标签: mysql left-join inner-join union exists

假设我有一个包含两列的SQL表usernamesponsorusername | sponsor ------------------ bill | bob username1| bill username2| username2 username3| bill username4| bill username5| bill username6| bill username7| bill collin | username6 austin | usename3

username1
username2
username3
username4
username5
username6
username7
collin
austin

我想编写一个查询,返回所有用户名,其中这些用户名在列赞助商中不会出现5次。我该如何编写这个SQL查询?

期望的输出:

{{1}}

2 个答案:

答案 0 :(得分:0)

我认为这应该有效:

SELECT m.username
  FROM members m,
    (SELECT sponsor, COUNT(sponsor)
      FROM members
      GROUP BY sponsor
      HAVING COUNT(sponsor) < 5) c
  WHERE m.username = c.sponsor

我假设您的示例输出中您希望成员赞助少于 5个其他成员。

答案 1 :(得分:0)

此查询解决了问题。

public void onClick (View v){
     ((BoxView)v).setCaption("X");  
 }

感谢达尔文!