NutzCN Logo
问答 数据库取数 , 分三级 :去省份前十的数据,去市前十的数据,取县前十的数据
发布于 2372天前 作者 qq_19417450 1676 次浏览 复制 上一个帖子 下一个帖子
标签:

在项目中,我们可以通过比如:cnd.and().grouuBy();来表示数据库语句,现在我也想用代码来表示数据库语句,就是:现在我有省市县三级,然后想取省份前面十条数据、市级前面十条数据、县级前面十条数据, 想问一下,怎么通过代码实现,比如有没有这种cnd.limit这种类似的代码。 感觉用数据库语句好像实现不了。

16 回复

看上去就不行。。。 分别查吧

if(!Strings.isBlank(type) && "1".equals(type) && !Strings.isBlank(province)){
			//if(!Strings.isBlank(province) && Strings.isBlank(city) && Strings.isBlank(county)){
				cnd.and("b.province","=",province);
				cnd.and("1=1	) AS t  WHERE 1", "=", "1");
				cnd.and("a.province","=",province).groupBy("province");
			}
			else if(!Strings.isBlank(type) && "2".equals(type) && !Strings.isBlank(city)){
			//if(!Strings.isBlank(province) && !Strings.isBlank(city) && Strings.isBlank(county)){
				cnd.and("b.city","=",city);
				cnd.and("1=1	) AS t  WHERE 1", "=", "1");
				cnd.and("a.city","=",city).groupBy("city");
			}
if(!Strings.isBlank(type) && "1".equals(type) && !Strings.isBlank(province)){
			//if(!Strings.isBlank(province) && Strings.isBlank(city) && Strings.isBlank(county)){
				cnd.and("b.province","=",province);
				cnd.and("1=1	) AS t  WHERE 1", "=", "1");
				cnd.and("a.province","=",province).groupBy("province");
			}
			else if(!Strings.isBlank(type) && "2".equals(type) && !Strings.isBlank(city)){
			//if(!Strings.isBlank(province) && !Strings.isBlank(city) && Strings.isBlank(county)){
				cnd.and("b.city","=",city);
				cnd.and("1=1	) AS t  WHERE 1", "=", "1");
				cnd.and("a.city","=",city).groupBy("city");
			}

代码里面的cnd.and("a.city","=",city).groupBy("city"); sql语句不起作用,不能按city来排序

数据量少的话, 直接加载到内存

我现在是 都写在一个接口,然后想根据type来查,就是type=1,查的是省份数据,type=2,查的是市 的数据,这样子的 ,但是就是不知道为什么type不起作用

自定义SQL考虑一下?

怎样直接在代码里面直接写数据库语句 我发现 cnd.and(new Static("exists(select count(id) count,city from tm_place group by city ORDER BY count desc limit 0,10")); 没有效果

没有效果是什么意思

就是想要让数据 group by city来实现 发现取出来的数据是全部的 没有按照city来取前十条

那个可以了哈

限制就是 想将数据限制为前面十条 发现cnd.limit(1,10) 实现不了

添加回复
请先登陆
回到顶部