Count未在查询中返回正确的计数

时间:2015-06-30 22:45:14

标签: php mysql sql

我有一个名为发布者应用程序的表,其中每个记录都链接到一个管理器并具有特定状态。

管理器与另一个名为admins的表有关,因为我知道在我的View中使用的管理员的名字。

这是我的问题:

private class ExpandAnimation extends Animation {

    private final View mContent;

    private final int mStartHeight;
    private final int mDeltaHeight;

    public ExpandAnimation(int _startHeight, int _endHeight, View _content) {
        mStartHeight = _startHeight;
        mDeltaHeight = _endHeight - _startHeight;
        mContent = _content;
    }

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(mContent.getLayoutParams());
        lp.height = (int) (mStartHeight + mDeltaHeight * interpolatedTime);
        mContent.setLayoutParams(lp);
        if(interpolatedTime == 1.0f) {
            lp = new LinearLayout.LayoutParams(mListLayout.getLayoutParams());
            View mainLayout = mActivity.findViewById("id goes here");
            lp.height = mainLayout.getBottom();
            mListLayout.setLayoutParams(lp); // <-- Calling setLayoutParams here
        }
    }

    @Override
    public boolean willChangeBounds() {
        return true;
    }
}

我要做的是获取有多少具有特定状态的应用程序(状态范围从1-9并表示不同的东西)分配给每个管理器的计数。

此查询工作正常,但返回的方式少于实际计数应该为很多人。我不确定我的查询是什么或什么。

我知道应该有更高的数量,因为我已经选择了某个管理员ID和某个状态,而且数百个。

感谢您的帮助!

编辑:这是这个特定问题的SQL小提琴。由于某种原因,它正在这里工作,但我的数据库有数百行,而sql查询只返回1-10而不是126,例如对于某个状态的一个管理员的一个计数。

http://sqlfiddle.com/#!9/81685/1

1 个答案:

答案 0 :(得分:0)

试试这个(除了聚合之外,选择Select中的每一列,并使用count(*)以防万一):

SELECT p.status
 , a.id
 , a.first_name
 , COUNT(*) 
FROM admins a 
JOIN publisher_applications p 
  ON a.id = p.manager 
GROUP BY a.id
 , a.first_name
 , p.status