当前位置: 首页 > news >正文

一个做微信文章的网站做神马网站快速排

一个做微信文章的网站,做神马网站快速排,南宁网站建设,恩平市网站建设SQL 映射 聚合管道允许MongoDB 提供原生聚合功能#xff0c;对应于 SQL 中许多常见的数据聚合操作。比如#xff1a;GROUP BY、COUNT()、UNION ALL 测试数据 For MySQL rootlocalhost 14:40:40 [test] select * from orders; -------------------------------------…SQL 映射 聚合管道允许MongoDB 提供原生聚合功能对应于 SQL 中许多常见的数据聚合操作。比如GROUP BY、COUNT()、UNION ALL 测试数据 For MySQL rootlocalhost 14:40:40 [test] select * from orders; -------------------------------------------------- | _id | cust_id | ord_date | price | status | -------------------------------------------------- | 1 | A | 2023-06-01 00:00:00 | 15 | 1 | | 2 | A | 2023-06-08 00:00:00 | 60 | 1 | | 3 | B | 2023-06-08 00:00:00 | 55 | 1 | | 4 | B | 2023-06-18 00:00:00 | 26 | 1 | | 5 | B | 2023-06-19 00:00:00 | 40 | 1 | | 6 | C | 2023-06-19 00:00:00 | 38 | 1 | | 7 | C | 2023-06-20 00:00:00 | 21 | 1 | | 8 | D | 2023-06-20 00:00:00 | 76 | 1 | | 9 | D | 2023-06-20 00:00:00 | 51 | 1 | | 10 | D | 2023-06-23 00:00:00 | 23 | 1 | -------------------------------------------------- 10 rows in set (0.00 sec)rootlocalhost 14:41:19 [test] select * from orders_item; ------------------------------------ | _id | order_id | sku | qty | price | ------------------------------------ | 1 | 4 | apple | 10 | 2.5 | | 2 | 6 | carrots | 10 | 1 | | 3 | 6 | apples | 10 | 2.5 | | 4 | 1 | apple | 5 | 2.5 | | 5 | 1 | apples | 5 | 2.5 | | 6 | 2 | apple | 8 | 2.5 | | 7 | 2 | banana | 5 | 10 | | 8 | 9 | carrots | 5 | 1 | | 9 | 9 | apples | 10 | 2.5 | | 10 | 9 | apple | 10 | 2.5 | | 11 | 3 | apple | 10 | 2.5 | | 12 | 3 | pears | 10 | 2.5 | | 13 | 5 | banana | 5 | 10 | | 14 | 7 | apple | 10 | 2.5 | | 15 | 8 | banana | 5 | 10 | | 16 | 8 | apples | 10 | 2.5 | | 17 | 10 | apple | 10 | 2.5 | ------------------------------------ 17 rows in set (0.01 sec) For Mongodb : sit_rs1:PRIMARY db.orders.find().sort({_id: 1}); { _id : 1, cust_id : A, ord_date : ISODate(2023-06-01T00:00:00Z), price : 15, items : [ { sku : apple, qty : 5, price : 2.5 }, { sku : apples, qty : 5, price : 2.5 } ], status : 1 } { _id : 2, cust_id : A, ord_date : ISODate(2023-06-08T00:00:00Z), price : 60, items : [ { sku : apple, qty : 8, price : 2.5 }, { sku : banana, qty : 5, price : 10 } ], status : 1 } { _id : 3, cust_id : B, ord_date : ISODate(2023-06-08T00:00:00Z), price : 55, items : [ { sku : apple, qty : 10, price : 2.5 }, { sku : pears, qty : 10, price : 2.5 } ], status : 1 } { _id : 4, cust_id : B, ord_date : ISODate(2023-06-18T00:00:00Z), price : 26, items : [ { sku : apple, qty : 10, price : 2.5 } ], status : 1 } { _id : 5, cust_id : B, ord_date : ISODate(2023-06-19T00:00:00Z), price : 40, items : [ { sku : banana, qty : 5, price : 10 } ], status : 1 } { _id : 6, cust_id : C, ord_date : ISODate(2023-06-19T00:00:00Z), price : 38, items : [ { sku : carrots, qty : 10, price : 1 }, { sku : apples, qty : 10, price : 2.5 } ], status : 1 } { _id : 7, cust_id : C, ord_date : ISODate(2023-06-20T00:00:00Z), price : 21, items : [ { sku : apple, qty : 10, price : 2.5 } ], status : 1 } { _id : 8, cust_id : D, ord_date : ISODate(2023-06-20T00:00:00Z), price : 76, items : [ { sku : banana, qty : 5, price : 10 }, { sku : apples, qty : 10, price : 2.5 } ], status : 1 } { _id : 9, cust_id : D, ord_date : ISODate(2023-06-20T00:00:00Z), price : 51, items : [ { sku : carrots, qty : 5, price : 1 }, { sku : apples, qty : 10, price : 2.5 }, { sku : apple, qty : 10, price : 2.5 } ], status : 1 } { _id : 10, cust_id : D, ord_date : ISODate(2023-06-23T00:00:00Z), price : 23, items : [ { sku : apple, qty : 10, price : 2.5 } ], status : 1 }示例一客户订单统计 按客户分组统计每个客户订单数量并计算订单总价格按价格从高到低排序。 可以使用聚合管道的方式如下: $group 按指定的标识符表达式对输入文档进行分组并将累加器表达式如果指定应用于每个组。消耗所有输入文档并为每个不同组输出一个文档。输出文档仅包含标识符字段和累积字段如果指定。 $sort 按指定的排序键对文档流重新排序。仅顺序发生变化文件保持不变。对于每个输入文档输出一个文档。 SQL 示例 rootlocalhost 14:41:26 [test] SELECT cust_id, count(*), SUM(price) AS total FROM orders GROUP BY cust_id order by total desc; -------------------------- | cust_id | count(*) | total | -------------------------- | D | 3 | 150 | | B | 3 | 121 | | A | 2 | 75 | | C | 2 | 59 | -------------------------- 4 rows in set (0.00 sec)MongoDB 示例: sit_rs1:PRIMARY db.orders.aggregate( ... [ ... { $group: { _id: $cust_id, count: { $sum: 1 }, total: { $sum: $price } } }, ... { $sort: { total: -1 } } ... ] ... ) { _id : D, count : 3, total : 150 } { _id : B, count : 3, total : 121 } { _id : A, count : 2, total : 75 } { _id : C, count : 2, total : 59 }示例二日期订单统计 对于每个唯一的cust_id 按 cust_id、ord_date 分组 对price字段求和并仅在总和大于 30时返回。不包括日期的时间部分。 $group 按指定的标识符表达式对输入文档进行分组并将累加器表达式如果指定应用于每个组。消耗所有输入文档并为每个不同组输出一个文档。输出文档仅包含标识符字段和累积字段如果指定。 $match 过滤文档流以仅允许匹配的文档未经修改地传递到下一个管道阶段。 $match使用标准 MongoDB 查询。对于每个输入文档输出一个文档匹配或零个文档不匹配。 $sort 按指定的排序键对文档流重新排序。仅顺序发生变化文件保持不变。对于每个输入文档输出一个文档。 SQL 示例 rootlocalhost 14:42:51 [test] SELECT cust_id, DATE(ord_date), SUM(price) AS total FROM orders GROUP BY cust_id, DATE(ord_date) HAVING total 30 order by total desc; -------------------------------- | cust_id | DATE(ord_date) | total | -------------------------------- | D | 2023-06-20 | 127 | | A | 2023-06-08 | 60 | | B | 2023-06-08 | 55 | | B | 2023-06-19 | 40 | | C | 2023-06-19 | 38 | -------------------------------- 5 rows in set (0.00 sec)MongoDB 示例: sit_rs1:PRIMARY db.orders.aggregate( ... [ ... { $group: { _id: { cust_id: $cust_id, ord_date: { $dateToString: { format: %Y-%m-%d, date: $ord_date } } }, total: { $sum: $price } } }, ... { $match: { total: { $gt: 30 } } }, ... { $sort: { total: -1 } } ... ... ] ... ) { _id : { cust_id : D, ord_date : 2023-06-20 }, total : 127 } { _id : { cust_id : A, ord_date : 2023-06-08 }, total : 60 } { _id : { cust_id : B, ord_date : 2023-06-08 }, total : 55 } { _id : { cust_id : B, ord_date : 2023-06-19 }, total : 40 } { _id : { cust_id : C, ord_date : 2023-06-19 }, total : 38 }示例三SKU商品统计 对于每个唯一的cust_id 按 用户分组 对 items 数组字段进行分解统计每个用户的 SKU 总数量如下 $unwind 从输入文档解构数组字段以输出每个元素的文档。每个输出文档都用一个元素值替换数组。对于每个输入文档输出n 个文档其中n是数组元素的数量对于空数组可以为零。 $group 按指定的标识符表达式对输入文档进行分组并将累加器表达式如果指定应用于每个组。消耗所有输入文档并为每个不同组输出一个文档。输出文档仅包含标识符字段和累积字段如果指定。 $sort 按指定的排序键对文档流重新排序。仅顺序发生变化文件保持不变。对于每个输入文档输出一个文档。 SQL 示例 rootlocalhost 17:58:04 [test] SELECT cust_id, SUM(i.qty) as qty FROM orders o, orders_item i WHERE i.order_id o._id GROUP BY cust_id order by qty desc; --------------- | cust_id | qty | --------------- | D | 50 | | B | 35 | | C | 30 | | A | 23 | --------------- 4 rows in set (0.00 sec)MongoDB 示例: sit_rs1:PRIMARY db.orders.aggregate( ... [ ... { $unwind: $items }, ... { $group: { _id: $cust_id, qty: { $sum: $items.qty } } }, ... { $sort: { qty: -1 }} ... ] ... ) { _id : D, qty : 50 } { _id : B, qty : 35 } { _id : C, qty : 30 } { _id : A, qty : 23 }
http://www.pierceye.com/news/850558/

相关文章:

  • 做免费外贸网站册域名网站大全免黄
  • 祈网网站建设制作网站如何赚钱
  • 最讨厌网站门户类网站的主页设计
  • 国家建设环保局网站网站做的好赚钱吗
  • 如何设置网站服务器做标签的网站
  • 网站建设高端培训学校做网站交易平台
  • 公司网站建设收费优化网站排名解析推广
  • 昆明快速建站模板汽车网站建设多少钱
  • 网站注销主体注销广州联享网站建设公司怎么样
  • 中山seo建站新手建站教程报价单
  • 台州制作网站软件陈坤做直播在哪个网站
  • 北湖区网站建设公司企业主题wordpress 含演示数据
  • 网站建设简历自我评价做招聘信息的网站有哪些内容
  • 怎么和其它网站做友情链接网络营销师证怎么考
  • 百度推广要自己做网站吗做的视频传到哪个网站好
  • 个人建设门户网站 如何备案网站推广服务报价表
  • 广州企业网站建设哪家服务好西安家政公司网站建设
  • 住房与城乡建设部网站 黑龙江wordpress 采集系统
  • 阜阳网站建设云平台玉溪建设局门户网站
  • 网站建设什么原因最主要怎么制作网站首页
  • 网站建设深圳赶集网网页设计工程师工资
  • 哪家企业网站建设好闵行区网站制作
  • 重庆行业网站建设陕西省建设监理协会查询官方网站
  • 手机网站 尺寸网站规划的认识
  • 永川网站制作联系电话wordpress 参数 传递
  • 西宁市网站建设高端网站开发人员要求
  • 前端做商城网站需要多久yum wordpress
  • 便宜网站建设成都免费建网站视频教程
  • 班级网站自助建设功能没有充值入口的传奇
  • 杭州网站seo免费网站建设