From 2abd215930aba126b439b2c6071e6c2c1f55c734 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 10 Oct 2022 18:34:59 +0800 Subject: [PATCH] update --- Group-Aggregation-Query.md | 16 +++++++++++++--- 分组聚合查询.md | 17 ++++++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/Group-Aggregation-Query.md b/Group-Aggregation-Query.md index b802b68..86cef92 100644 --- a/Group-Aggregation-Query.md +++ b/Group-Aggregation-Query.md @@ -25,12 +25,22 @@ var list = fsql.Select() .Having(a => a.Count() < 300 || a.Avg(a.Key.mod4) < 100) .OrderBy(a => a.Key.tt2) .OrderByDescending(a => a.Count()) - .ToList(a => new { a.Key, cou1 = a.Count(), arg1 = a.Avg(a.Value.Clicks) }); + .ToList(a => new + { + a.Key, + cou1 = a.Count(), + arg1 = a.Avg(a.Value.Clicks), + arg2 = a.Sum(a.Value.Clicks > 100 ? 1 : 0) + }); -//SELECT substr(a.`Title`, 1, 2) as1, count(1) as2, avg(a.`Id`) as3 +//SELECT +//substr(a.`Title`, 1, 2) as1, +//count(1) as2, +//avg(a.`Clicks`) as3, +//sum(case when a.`Clicks` > 100 then 1 else 0 end) as4 //FROM `Topic` a //GROUP BY substr(a.`Title`, 1, 2), (a.`Id` % 4) -//HAVING (count(1) > 0 AND avg((a.`Id` % 4)) > 0 AND max((a.`Id` % 4)) > 0) AND (count(1) < 300 OR avg((a.`Id` % 4)) < 100) +//HAVING (count(1) > 0 AND avg((a.`Id` % 4)) > 0 AND max((a.`Id` % 4)) > 0) AND (count(1) < 300 OR avg((a.`Id` % 4)) < 100) //ORDER BY substr(a.`Title`, 1, 2), count(1) DESC ``` diff --git a/分组聚合查询.md b/分组聚合查询.md index b8d4cba..9e029c1 100644 --- a/分组聚合查询.md +++ b/分组聚合查询.md @@ -24,11 +24,22 @@ var list = fsql.Select() .Having(a => a.Count() < 300 || a.Avg(a.Key.mod4) < 100) .OrderBy(a => a.Key.tt2) .OrderByDescending(a => a.Count()) - .ToList(a => new { a.Key, cou1 = a.Count(), arg1 = a.Avg(a.Value.Clicks) }); -//SELECT substr(a.`Title`, 1, 2) as1, count(1) as2, avg(a.`Id`) as3 + .ToList(a => new + { + a.Key, + cou1 = a.Count(), + arg1 = a.Avg(a.Value.Clicks), + arg2 = a.Sum(a.Value.Clicks > 100 ? 1 : 0) + }); + +//SELECT +//substr(a.`Title`, 1, 2) as1, +//count(1) as2, +//avg(a.`Clicks`) as3, +//sum(case when a.`Clicks` > 100 then 1 else 0 end) as4 //FROM `Topic` a //GROUP BY substr(a.`Title`, 1, 2), (a.`Id` % 4) -//HAVING (count(1) > 0 AND avg((a.`Id` % 4)) > 0 AND max((a.`Id` % 4)) > 0) AND (count(1) < 300 OR avg((a.`Id` % 4)) < 100) +//HAVING (count(1) > 0 AND avg((a.`Id` % 4)) > 0 AND max((a.`Id` % 4)) > 0) AND (count(1) < 300 OR avg((a.`Id` % 4)) < 100) //ORDER BY substr(a.`Title`, 1, 2), count(1) DESC ```