我是超级新手,查询困难。我的表(tblpacks)如下:
id user_id group_id quota_id
1 1 1 1
2 1 2 1
3 2 1 1
4 3 1 1
理想情况下,我现在要获取quota_id = 1的唯一用户和组的数量
结果将是:
total_users = 3
total_groups = 2
答案 0 :(得分:1)
如果您只想计算一个字段,那么只需一个简单的solution,但是由于您想计算2个单独的字段,因此实际上您至少需要2个单独的查询。
我的答案是使用UNION查询作为计数来源。此UNION查询返回不同的class Base
{
public:
virtual int func1()=0;
virtual int func2()=0;
protected:
int common_part1_funct1(); // implements some common parts
int common_part2_funct1();
int n;
};
class Der1: public Base
{
...
int func1() override {
common_part1_funct1();
...
common_part2_funct1();
...
}
};
值(其中user_id
为Null
)和不同的group_id
值(其中group_id
为Null
)。我省略了DISTINCT关键字,因为UNION(不带ALL)会自动执行DISTINCT查询。作为在UNION查询的第一个SELECT语句中使用常量user_id
字段时无法正确识别的数据类型,我添加了第三个SELECT语句作为第一个SELECT语句,该语句从表中选择两个字段,但不返回任何记录:
Null