数据关联排序问题(SQL)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据关联排序问题(SQL)相关的知识,希望对你有一定的参考价值。

有两个表A、B,A.b与B.b相关联

A
a(vachar) b(vachar) c(vachar) d(datetime)
A0001 hn 湖南 2005-12-12
A0002 yn 云南 2005-12-13

B
a(vachar) b(vachar) c(vachar) d(vachar) e(datetime)
B0001 hn cs 长沙 2005-12-12
B0002 hn hy 衡阳 2005-11-12
B0003 hn cz 郴州 2005-10-12
B0004 yn km 昆明 2005-12-12
B0005 yn dl 大理 2005-11-12

结果排列如下:(A按字段d排序,B按字段e排序)
湖南(长沙、衡阳、郴州)
云南(昆明、大理)

不知道如何写SQL语句,求助!
还需要进行分页处理

参考技术A 在order by中指明使用那些字段排序就可以了。

select *
from a,b
where a.b=b.b
order by a.d,b.e

这个语句首先按a.d排序,a.b相同的会按b.e再排序。
参考技术B 这个问题大了.

JPA多表关联 去重 排序问题

关于jpa的查询 在网上能查到的资料太有限了 今天自己遇到的问题 记录下

JPA 动态查询语句 多表关联后 就会有重复的问题,这是我们不想看到的,自定义sql的时候可以通过group by ,distinct来解决

JPA中也是如此,只是不知道写在什么地方 如何来写。

CriteriaQuery 提供了 很好的支持

 query.groupBy(root.get("id"),...);//分组设置 分组比较麻烦,jpa默认的是把所有列都显示出来 如果想分组 要把所有列都加入到这里来

 query.distinct(true);//去重设置 这个比较好用 简单方便

 query.orderBy(cb.asc(root.get("abc")));//排序设置

问题解决了,其实很简单,只是不熟悉。

以上是关于数据关联排序问题(SQL)的主要内容,如果未能解决你的问题,请参考以下文章

sql多表分组查询并排序的问题

sql 表1根据 表2关联字段 排序

SQL怎样合并显示两个没有关联的表

按关联代理排序:无效的 sql

如何在 BigQuery SQL 中为与按日期排序的主 ID 关联的子 ID 编号?

18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询