请教个GROUP BY的问题
var ret = (from h in db.house_source_list
group h by h.account_id into g
where g.Count() < 30
select g.Key)
.Take(50);
生成的SQL(执行会出错):
SELECT
`Limit1`.`account_id`
FROM (SELECT
`GroupBy1`.`K1` AS `account_id`
FROM (SELECT
COUNT(1) AS `A1`
FROM `house_source_list` AS `Extent1`
GROUP BY
`Extent1`.`account_id`) AS `GroupBy1`
WHERE `GroupBy1`.`A1` < 30 LIMIT 50) AS `Limit1`
出错原因是 内层的SELECT 只取出 COUNT(1), 而我最后的结果需要 GroupBy1`.`K1` AS `account_id` -- Group by 的KEY
请问LINQ需要怎么调整呢?谢谢
相关推荐
Mysql升级到5.7后遇到的group by查询问题解决
主要给大家介绍了关于Mysql升级到5.7后遇到的group by查询问题的解决方法,文中通过示例代码介绍的非常详细,对同样遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究
今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录: “SELECT * FROM t HAVING id=MIN(id);” 但是只是把MIN换成MAX,这样返回就是空了: “SELECT * FROM t HAVING id=MAX(id);” 这是为什么呢? 我们先来做个试验,验证这种情况。 这是表结构,初始化两条记录,然后试验: root@localhost : plx 10:25:10> show create table t2G *************************** 1. row ************
处理group by 查询速度慢的问题.docx
实际项目中因表数据量大,发现查询速度很慢。记录此次排查和优化过程。希望对阅读到此文章的朋友有所帮助。
MySQL中group by与order by使用问题[代码]
本文探讨了MySQL中group by与order by一起使用时可能出现的排序问题。当直接使用group by和order by时,由于group by会先分组并取第一条数据,导致order by排序可能不符合预期。文章提供了三种解决方案:方法一使用子查询先排序再分组;方法二使用max()函数获取最大值,但可能无法获取整条记录;方法三通过GROUP_CONCAT和SUBSTRING_INDEX结合子查询获取整条记录。这些方法帮助开发者正确处理分组和排序的需求。
MySql版本问题sql_mode=only_full_group_by的完美解决方案
主要介绍了MySql版本问题sql_mode=only_full_group_by的完美解决方案,需要的朋友可以参考下


LINQ
