count(*)、count(列名)、count(distinct 列名)三者的区别是什么?通过一个实例说明。
时间: 2024-06-16 20:06:06 浏览: 31
count(*)是用来统计表中的记录数,不论记录中的值是否为空它会返回表中所有记录的数量。
count(列名)是用来统指定列中非空值的数量。它会忽略列中的空值,并返回非空值的数量。
count(distinct 列名)是用来统计指定列中不重复的非空值的数量。它会忽略列中的空值,并返回不重复的非空值的数量。
例如,假设有一个学生表格,包含以下数据:
| 学生ID | 姓名 | 年龄 |
| ------ | ------ | ---- |
| 1 | 张三 | 18 |
| 2 | 李四 | 20 |
| 3 | 王五 | null |
| 4 | 张三 | 22 |
| 5 | 李四 | 20 |
使用count(*),返回结果为5,表示表中共有5条记录。
使用count(姓名),返回结果为5,表示姓名列中共有5个非空值。
使用count(distinct 姓名),返回结果为3,表示姓名列中共有3个不重复的非空值(张三、李四、王五)。
相关问题
qs = qs.values('month', 'warehouse').annotate(apply_prove=Count('id')).distinct() 如何将这一行改为返回模型实例
如果您想返回模型实例而不是字典,可以使用 Django 的 values_list 方法代替 values 方法。values_list 方法返回一个元组列表,其中每个元组都包含指定字段的值。这样,您就可以在 annotate 和 distinct 方法之后使用 values_list 方法。最终代码如下所示:
```
qs = qs.annotate(apply_prove=Count('id')).distinct()
qs = qs.values_list('month', 'warehouse', 'apply_prove')
```
请注意,使用 values_list 方法返回的结果是一个元组列表,而不是模型实例列表。如果您想要返回模型实例列表,可以使用 Django 的 values 方法,然后使用 values 方法返回的字典来创建模型实例。例如:
```
qs = qs.annotate(apply_prove=Count('id')).distinct()
qs = qs.values('month', 'warehouse', 'apply_prove')
result = []
for q in qs:
instance = MyModel(**q)
result.append(instance)
```
这里假设 MyModel 是您想要创建的模型类。在这个例子中,我们使用 values 方法返回字典,然后使用字典创建模型实例,并将每个模型实例添加到 result 列表中。
帮我写一个mysql在camunda框架中查询用户通过流程的效率的查询语句
```
SELECT
user_id,
COUNT(DISTINCT process_instance_id) AS 'process_instance_count',
SUM(DATEDIFF(completion_time, start_time))/COUNT(DISTINCT process_instance_id) AS 'avg_time_per_process'
FROM
act_hi_taskinst
WHERE
end_time IS NOT NULL
GROUP BY
user_id
ORDER BY
avg_time_per_process ASC;
```
这是一个在 Camunda 框架中查询用户通过流程的效率的示例 SQL 查询语句。它查询 act_hi_taskinst 表,选择 user_id、完成的流程实例数量、平均每个流程的完成时间,并以平均时间升序排序。
请注意,这只是一个示例,您可能需要根据自己的需求和数据库结构进行修改.
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)