小编use*_*728的帖子

如何在Oracle中选择前100行?

我的要求是获得每个客户的最新订单,然后获得前100名记录.

我写了一个如下查询来获取每个客户的最新订单.内部查询工作正常.但我不知道如何根据结果获得前100名.

    SELECT * FROM (
      SELECT id, client_id, ROW_NUMBER() OVER(PARTITION BY client_id ORDER BY create_time DESC) rn 
      FROM order
    ) WHERE rn=1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢.

sql oracle

42
推荐指数
3
解决办法
25万
查看次数

"错误:您的SQL语法中有错误;" 在hibernate中一对多的关系映射

我正在尝试通过hibernate实现订单管理系统,我不是很熟悉.异常要求我在我的程序尝试中手动执行sql和hibernate一样,并且成功了.我不知道是什么问题.可能是设计问题.数据库是这样的:在此输入图像描述

ORDER有一个指向ITEM表中ITEM_ID的外键ITEM_ID,它是一对多关系,另一个外键CLIENT_ID指向CLINET表中的CLIENT_ID.带注释的三个实体定义写成

@Table(name = "ITEM")
public class Item implements Serializable{
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "ITEM_ID", unique = true, nullable = false)
    private int item_id;
    @Column(name = "NAME")
    private String name;
    @Column(name="CATEGORY")
    private String category;
    @Column(name="UNIT")
    private String unit;
    @Column(name="PRICE")
    private double price;
    //getters and setters
}

@Entity
@Table(name="CLIENT")
public class Client implements Serializable{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "CLIENT_ID", unique = true, nullable = false)
    private int client_id;
    @Column(name="CLIENT_NAME")
    private String client_name;
//getters and setters
}

@Entity
@Table(name="ORDER")
public …
Run Code Online (Sandbox Code Playgroud)

java mysql sql hibernate

3
推荐指数
1
解决办法
3566
查看次数

标签 统计

sql ×2

hibernate ×1

java ×1

mysql ×1

oracle ×1