I'm using OData v4 with WebAPI with these nuget-packages:
Microsoft.Data.OData 5.7.0
Microsoft.AspNet.WebApi.OData 4.0.30506
I can't get groupby
to work with count. It should be the most simple thing.
I have a simple table/entity called Delivery
. It has a status column (among several other ones). What I basically want to do is this SQL query, but with OData:
SELECT e.status, count(*) AS total
FROM Delivery e
GROUP BY e.status
I've tried using countdistinct
, but it doesn't give me the correct results.
/odata/deliveries?$apply=groupby((status),aggregate(status with countdistinct as total))
It returns:
"value": [
{
"@odata.id": null,
"total": 1,
"status": 1
},
{
"@odata.id": null,
"status": 2,
"total": 1
},
{
"@odata.id": null,
"status": 4,
"total": 1
}
]
The correct results should be (which is what my SQL-query returns):
status total
1 2
2 22
4 1
I've also read about the virtual property $count
, but it seems as Microsoft doesn't support it yet.
How do I use group by
together with a simple count
with OData v4?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…