我想从 mysql 中的同一个表中获取多个计数

字节码

我有一个包含用户订单详细信息的表格,我想要订单总数,以及上个月的订单数量和上周的订单数量。

表结构

+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| id             | bigint(21 ) | NO   |     | NULL    |       |
| customer_id    | bigint(21)  | YES  |     | NULL    |       |
| provider_id    | varchar(20) | YES  |     | NULL    |       |
| order_datetime | date        | YES  |     | NULL    |       |
| pickup_datetime| date        | YES  |     | NULL    |       |
| status         | tinyint(4)  | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

表数据

[{"id": 1,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-24 14:52:51","pickup_datetime": "2016-11-24 14:53:19","status": 3}, {"id": 2,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-24 15:18:30","pickup_datetime": "2016-11-24 15:18:36","status": 3}, {"id": 3,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-24 17:19:27","pickup_datetime": "2016-11-24 17:19:33","status": 3}, {"id": 4,"customer_id": 0,"provider_id": 2,"order_datetime": "2016-11-24 17:30:46","pickup_datetime": "2016-11-24 17:30:51","status": 3}, {"id": 5,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-24 17:37:52","pickup_datetime": "2016-11-24 17:38:00","status": 3}, {"id": 6,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-25 11:31:51","pickup_datetime": "2016-11-25 11:32:14","status": 3}, {"id": 7,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-25 11:36:05","pickup_datetime": "2016-11-25 11:36:16","status": 3}, {"id": 8,"customer_id": 1,"provider_id": 2,"order_datetime": "2016-11-25 11:41:10","pickup_datetime": "2016-11-25 11:41:17","status": 3}]

提前致谢

蒂姆·比格莱森

您可以在此处使用条件聚合通过单次传递订单表来完成此操作:

SELECT
    SUM(CASE WHEN order_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW()
             THEN 1 ELSE 0 END) AS last_week_cnt,
    SUM(CASE WHEN order_date BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW()
             THEN 1 ELSE 0 END) AS last_month_cnt,
    COUNT(*) AS all_cnt
FROM orders

这应该优于 UNION 方法。请注意,如果表中的给定记录可能对应于多个订单,并且有一列用于该列,那么我们可以稍微修改我的查询以对该列求和,而不是默认为每条记录一个订单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL-从同一个表中获取计数

来自分类Dev

我想从 mysql db 中获取值并将其显示在 jsp 的下拉框中

来自分类Dev

我想从nodejs的mysql数据库中获取表列表

来自分类Dev

如何离开连接同一个 mySQL 表中的多个数据?

来自分类Dev

从同一个表中获取记录数时如何编写mysql内部查询

来自分类Dev

从同一个表mysql存储过程中选择不同条件的多个计数

来自分类Dev

我想从innerHTML中删除

来自分类Dev

我想从 mysql 数据库中检索图像,但它显示的是字符而不是图像

来自分类Dev

我想从2个不同的表中获取数据

来自分类Dev

我想从json数据中获取值

来自分类Dev

我如何编写一个查询来获取 mysql 中的计数

来自分类Dev

我想从 C# Mvc 中的数据表中获取一个字段值让说(名称),

来自分类Dev

我想从库存中扣除产品成分

来自分类Dev

我想从001开始在Rails中编号

来自分类Dev

我想从数组中暂停图像

来自分类Dev

我想从php的网址中删除%20

来自分类Dev

我想从文件中 grep 特定模式

来自分类Dev

我如何在同一个函数中在 ajax 中接收多个响应

来自分类Dev

MySQL从同一个表中获得链接结果

来自分类Dev

如果所有值都不在同一个表中,则mysql更新

来自分类Dev

SQL/MySQL 从同一个表中递归拉取

来自分类Dev

列出与 MySQL 在同一个表中具有共同 ID 的行

来自分类Dev

我想从滑块获取图像源吗?

来自分类Dev

我想从 goeuro api 获取结果 json

来自分类Dev

我想从Java中的数据库拆分一个包含多个记录的arraylist

来自分类Dev

MySQL是否有一种方法可以将多个查询合并到同一个表中,以在各自的行中获得不同的结果?

来自分类Dev

我想从两个表中删除行

来自分类Dev

我可以从多个线程中绘制同一个CGContextRef吗?

来自分类Dev

我们如何在同一个查询中插入多个值

Related 相关文章

  1. 1

    MySQL-从同一个表中获取计数

  2. 2

    我想从 mysql db 中获取值并将其显示在 jsp 的下拉框中

  3. 3

    我想从nodejs的mysql数据库中获取表列表

  4. 4

    如何离开连接同一个 mySQL 表中的多个数据?

  5. 5

    从同一个表中获取记录数时如何编写mysql内部查询

  6. 6

    从同一个表mysql存储过程中选择不同条件的多个计数

  7. 7

    我想从innerHTML中删除

  8. 8

    我想从 mysql 数据库中检索图像,但它显示的是字符而不是图像

  9. 9

    我想从2个不同的表中获取数据

  10. 10

    我想从json数据中获取值

  11. 11

    我如何编写一个查询来获取 mysql 中的计数

  12. 12

    我想从 C# Mvc 中的数据表中获取一个字段值让说(名称),

  13. 13

    我想从库存中扣除产品成分

  14. 14

    我想从001开始在Rails中编号

  15. 15

    我想从数组中暂停图像

  16. 16

    我想从php的网址中删除%20

  17. 17

    我想从文件中 grep 特定模式

  18. 18

    我如何在同一个函数中在 ajax 中接收多个响应

  19. 19

    MySQL从同一个表中获得链接结果

  20. 20

    如果所有值都不在同一个表中,则mysql更新

  21. 21

    SQL/MySQL 从同一个表中递归拉取

  22. 22

    列出与 MySQL 在同一个表中具有共同 ID 的行

  23. 23

    我想从滑块获取图像源吗?

  24. 24

    我想从 goeuro api 获取结果 json

  25. 25

    我想从Java中的数据库拆分一个包含多个记录的arraylist

  26. 26

    MySQL是否有一种方法可以将多个查询合并到同一个表中,以在各自的行中获得不同的结果?

  27. 27

    我想从两个表中删除行

  28. 28

    我可以从多个线程中绘制同一个CGContextRef吗?

  29. 29

    我们如何在同一个查询中插入多个值

热门标签

归档