小编qui*_*n16的帖子

实体框架中的GROUP和SUM

我想为每个客户选择订单商品的所有(付费)价格的总和.这是SQL命令:

SELECT c.name,SUM(oi.price * oi.count) from customer c
JOIN order o ON c.id=o.customer_id
JOIN order_item oi ON o.id=oi.order_id
JOIN bill b ON b.id=oi.bill_id
WHERE b.payment_id is NOT null
GROUP by c.name;
Run Code Online (Sandbox Code Playgroud)

我不知道如何在EF中这样做.示例结果:

John Smith  1500,2  
Allan Babel 202,0  
Tina Crown  3500,78
Run Code Online (Sandbox Code Playgroud)

(逗号用作小数点.因为价格是小数值)

select linq-to-entities entity-framework group-by sum

14
推荐指数
1
解决办法
4万
查看次数

实体框架 - 按同一列中的多个条件选择 - 多对多

我在这里问了非常相似的问题
实体框架 - 通过同一列中的多个条件选择 - 引用表

现在关系是多对多。所以我有 3 个表:order、items 和 orderItem(items 是一个 Junction 表)再次......我想选择至少有一个价格为 100 的 orderItem 和至少一个价格为 200 的 orderItem 的所有订单

我真的不知道如何为那个场景编辑它。

var orders = from o in kontextdbs.orders
             select o;
foreach(int value in values)
{    
      int tmpValue = value;
      orders = orders.Where(x => kontextdbs.order_item.Where(oi => x.id == oi.order_id)
} 
Run Code Online (Sandbox Code Playgroud)

c# select linq-to-entities many-to-many entity-framework

5
推荐指数
1
解决办法
2549
查看次数

从一个选择中除以两个计数

我有一张这样的表:

date(timestamp) Error(integer)   someOtherColumns
Run Code Online (Sandbox Code Playgroud)

我有一个查询来选择特定日期的所有行:

SELECT * from table
WHERE date::date = '2010-01-17'  
Run Code Online (Sandbox Code Playgroud)

现在我需要计算 Error 等于 0(从那天起)的所有行,并将其除以所有行的计数(从那天起)。

所以结果应该是这样的

Date(timestamp)      Percentage of failure
2010-01-17           0.30
Run Code Online (Sandbox Code Playgroud)

数据库相当大,数百万行..

如果有人知道如何在更多天里这样做,那就太好了——从一天到另一天。

Date(timestamp)      Percentage of failure
2010-01-17           0.30
2010-01-18           0.71
and so on
Run Code Online (Sandbox Code Playgroud)

sql postgresql select percentage

3
推荐指数
1
解决办法
1万
查看次数