我有表结构,如:
CREATE TABLE new_test
( col1 NUMBER(2) NOT NULL,
col2 VARCHAR2(50) NOT NULL,
col3 VARCHAR2(50) NOT NULL,
col4 VARCHAR2(50) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
它有数据:
col1 col2 col3 col4
0 A B X
1 A B Y
2 A B Z
1 C D L
3 C D M
Run Code Online (Sandbox Code Playgroud)
我需要找到col4的值,它对col2和col3的组合具有最大值.例如我的结果应该是:
col4
Z
M
Run Code Online (Sandbox Code Playgroud)
我尝试使用oracle分析函数:
SELECT col4, MAX(col1) OVER (PARTITION BY col2, col3) FROM (
SELECT col2, col3, col4, col1
FROM new_test);
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作.你能帮我解决这个问题吗?
更新:我可以使用:
SELECT a.col4
FROM new_test a,
(SELECT col2,
col3,
col4, …
Run Code Online (Sandbox Code Playgroud) 我希望使用提到的表名找到特定模式下的所有视图的列表.
例如,如果view1和view2使用table1,使用表名"table1",我希望找到视图名称"view1"和view2".
请让我知道,我该怎么做.
我有单个JPA实体,我想在这个表上添加自联接.表看起来像例如
@Entity
@Table(name = "TABLE_A")
@IdClass(TableAPk.class)
public class TableA implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "COLUMN_1", nullable = false, length = 64)
private String column_1;
@Id
@Column(name = "COLUMN_2", nullable = false, precision = 10, scale = 2)
private BigDecimal column_2;
@ManyToOne
@JoinColumn(name = "COLUMN_1", insertable = false, updatable = false)
//@ManyToOne(optional = true, fetch = FetchType.LAZY)
//@JoinTable(name = "KEY_MAPPING",
// joinColumns = { @JoinColumn(name = "J_COLUMN_1", referencedColumnName = "COLUMN_1", insertable = false, …
Run Code Online (Sandbox Code Playgroud) 我的要求是:
例如以下是有效的字符串:
Ab*08
*.6-*N*
Run Code Online (Sandbox Code Playgroud)
以下是无效字符串:
****AB-*
GH.*
Run Code Online (Sandbox Code Playgroud)
我的正则表达式看起来像:
^(.*?[a-zA-Z0-9.\-]){4,}.*$
Run Code Online (Sandbox Code Playgroud)
我在第1点和第2点提到的基本验证是有效的.但正则表达式允许其他特殊字符,如<,>,等等.我如何修改我的正则表达式来实现这一目标?
我的SQL查询返回4列"A","B","C","D"的结果.
假设结果是:
A B C D
1 1 1 1
1 1 1 2
2 2 2 1
Run Code Online (Sandbox Code Playgroud)
是否可以获得每行中包含"A","B","C"列的重复行数.
例如,预期的结果是:
A B C D cnt
1 1 1 1 2
1 1 1 2 2
2 2 2 1 1
Run Code Online (Sandbox Code Playgroud)
我尝试使用count(*)结束.但它返回查询返回的总行数.另一个信息是,在示例中,我只提到了3列,我需要根据这些列检查计数.但我的实际查询有8列.并且数据库中的行数很大.所以我认为分组在这里不是一个可行的选择.任何提示都很明显.谢谢.
oracle ×3
count ×1
duplicates ×1
exception ×1
find ×1
hibernate ×1
java ×1
joincolumn ×1
jpa ×1
max ×1
names ×1
one-to-many ×1
partition-by ×1
regex ×1
sql ×1
view ×1