标签: row-number

将行号列添加到GWT CellTable

我需要在a中插入一个新的第一列CellTable,并在其中显示RowNumber当前行.在GWT中执行此操作的最佳方法是什么?

gwt row-number

5
推荐指数
1
解决办法
4190
查看次数

使用 row_number 索引提高分区查询的性能

我有一个以下形式的查询:

select a, b, c, d, e, f, g, h,
    row_number () over (partition by a, b order by c, d, e, f) as order
from table;
Run Code Online (Sandbox Code Playgroud)

而且它的性能有点糟糕。

我们尝试创建 2 个索引,第一个用于按列(a 和 b)分区,第二个用于按列(c、d、e、f)排序。

使用解释计划我们发现索引没有被使用。尽管它们对于带有 group by 子句的其他查询很有用。

关于如何重构查询或重新创建索引以帮助提高该查询的性能有什么想法吗?

提前致谢

sorting indexing row-number oracle10g

5
推荐指数
1
解决办法
7365
查看次数

SQL Server:row_number按超时分区

我有一个包含一系列(IP varchar(15),DateTime datetime2)值的表.每行对应于用户发出的HTTP请求.我想为这些行分配会话号.不同的IP地址具有不同的会话号.如果最后一个请求超过30分钟,则应为同一IP分配新的会话号.这是一个示例输出:

IP,      DateTime,         SessionNumber, RequestNumber
1.1.1.1, 2012-01-01 00:01, 1,             1
1.1.1.1, 2012-01-01 00:02, 1,             2
1.1.1.1, 2012-01-01 00:03, 1,             3
1.1.1.2, 2012-01-01 00:04, 2,             1 --different IP => new session number
1.1.1.2, 2012-01-01 00:05, 2,             2
1.1.1.2, 2012-01-01 00:40, 3,             1 --same IP, but last request 35min ago (> 30min)
Run Code Online (Sandbox Code Playgroud)

第1列和第2列是输入,第3和第4列是所需的输出.该表显示了两个用户.

由于底层是表真的很大,如何有效地解决这个问题?我更喜欢对数据进行少量的传递(一次或两次).

t-sql sql-server olap row-number sql-server-2012

5
推荐指数
1
解决办法
878
查看次数

在select语句中动态编号不同的sql行

如何动态地在查询中对行进行编号,类似于:

Select distinct name from @table where %rules
Run Code Online (Sandbox Code Playgroud)

当我添加ROW_NUMBER()OVER()时,我丢失了我的distinct属性,它返回表中的每个元素,并带有唯一的行号.

Select distinct ROW_NUMBER OVER(order by name), name from @table where %rules
Run Code Online (Sandbox Code Playgroud)

我不想创建临时表,否则我会为临时表创建一个主键,并让它以这种方式插入行号.

提前致谢!

sql t-sql sql-server row-number

5
推荐指数
1
解决办法
1320
查看次数

SQL Server 2012:有条件地增加计数器用户 ROW_NUMBER()

我正在尝试根据特定条件申请ROW_NUMBER()增加计数器。

我的数据如下所示,目标计数器是Prep

    id       DSR    PrepIndicator   Prep
   --------------------------------------
    1662835  -1     1               1
    1662835  14     2               2
    1662835  14     2               3
    1662835  20     2               4
    1667321  -1     1               1
    1667321  30     2               2
    1667321  14     2               3
    1680648  -1     1               1
    1680648  14     2               2
    1680648  60     1               1
    1680648  14     2               2
    1680648  14     2               3
    1683870  -1     1               1
    1683870  12     2               2
    1683870  10     2               3
    1683870  60     1               1
    1683870  7      2               2
Run Code Online (Sandbox Code Playgroud)

PrepIndicator …

sql sql-server row-number

5
推荐指数
1
解决办法
2675
查看次数

SQL ROW_NUMBER 给出错误

我需要在 MySQL 中对行进行排序并根据该顺序为每一行分配一个数字。ORDER BY正在按预期工作,但不是ROW_NUMBER()

这有效:

USE my_database;
SELECT
    id
    ,volume
    FROM my_table
    ORDER BY volume;
Run Code Online (Sandbox Code Playgroud)

这不起作用:

USE my_database;
SELECT
    id
    ,volume
    ,ROW_NUMBER() over(ORDER BY volume)
    FROM my_table
    ORDER BY volume;
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

SELECT id ,volume ,ROW_NUMBER() over(ORDER BY volume) FROM my_table ORDER BY volume 错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 4 行 0.000 秒处的“(ORDER BY volume) FROM my_table ORDER BY vol”附近使用的正确语法

我做错了什么,我该如何使它工作?

我也试过RANK()DENSE_RANK()这给出了同样的问题。

mysql sql row-number sql-order-by rank

5
推荐指数
1
解决办法
1万
查看次数

如何筛选ROW_NUMBER()

我试图从数据集中选择不同的NAME,但也返回其他列.我有它在一定程度上工作,但只是无法弄清楚如何把它结合在一起.

我怀疑我需要一个WITH x(或者其他东西,但我不确定

这是CODE和它返回的数据的图像.从这里我想只显示WHERE RN=1在图像中以红色圈出的 显示

Select
    row_number() over (partition by tagname order by adddate) as RN,
    tagname,
    RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1) as SCADA_tag, 
    convert(varchar(12) , adddate , 101) as AddDate,
    left(tagname,CHARINDEX('.',tagname)-1) as 'Table',
    [CC_NOTE_LOG].dbo.SCADA_DB.groupid as 'Group',
    [CC_NOTE_LOG].dbo.SCADA_DB.dataset as 'Dataset', 
    [CC_NOTE_LOG].dbo.SCADA_DB.Description as 'Description'
FROM "Buckeye KB".dbo.v_AlarmsWithTagname
join 
    [CC_NOTE_LOG].dbo.SCADA_DB
on 
    RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1)=[CC_NOTE_LOG].dbo.SCADA_DB.SCADA_SR_TAG
where
    [CC_NOTE_LOG].dbo.SCADA_DB.groupid<>'test' and
    [CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'Keep%' and
    [CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'delete%' and
    Tagname not like '%.ES_%' and
    Tagname not like '%.OPC_%'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

sql-server row-number partition

5
推荐指数
1
解决办法
2695
查看次数

条件行号

我试图根据RowNum列的结果放置条件编号.

当RowNum为1时,我希望新列的全新增量为1.

在此输入图像描述

在RoomNum 5栏中的图片应该被2,9替换3m 13乘4等等.我在这个查询中做错了什么?

SELECT  CASE 
        WHEN rownum < 2
    THEN
    Row_number() OVER (
        PARTITION BY Scheme ORDER BY Scheme ASC
        )  
    ELSE NULL
END AS RoomNum,

CASE 
    WHEN rownum > 1
        THEN NULL
    ELSE scheme
    END AS Scheme
,RowNum
Run Code Online (Sandbox Code Playgroud)

sql sql-server row-number sql-server-2012

5
推荐指数
1
解决办法
9370
查看次数

QueryDSL 4带有RowNumber窗口功能

我正在使用查询dsl和spring数据.

环境:

    <querydsl-apt.version>4.1.4</querydsl-apt.version>
    <querydsl-jpa.version>4.1.4</querydsl-jpa.version>
    <querydsl-sql.version>4.1.4</querydsl-sql.version>
    <spring>4.3.3.RELEASE</spring>
Run Code Online (Sandbox Code Playgroud)

查询:

JPAQueryFactory query = new JPAQueryFactory(getEntityManager());

SimpleExpression<Long> rowNumber = SQLExpressions.rowNumber()
        .over()
        .orderBy(qServiceExecution.updatedAt.asc()).as("rowNumber");

List<Tuple> response = query.select(qServiceExecution.id, SQLExpressions.rowNumber()
                .over()
                .orderBy(qServiceExecution.updatedAt.asc()))
        .from(qServiceExecution)
        .fetch();
Run Code Online (Sandbox Code Playgroud)

例外:

Root cause: java.lang.IllegalArgumentException: No pattern found for ROWNUMBER
    at com.querydsl.core.support.SerializerBase.visitOperation(SerializerBase.java:280) ~[querydsl-core-4.1.4.jar:na]
    at com.querydsl.jpa.JPQLSerializer.visitOperation(JPQLSerializer.java:437) ~[querydsl-jpa-4.1.4.jar:na]
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:231) ~[querydsl-core-4.1.4.jar:na]
    at com.querydsl.core.support.SerializerBase.visit(SerializerBase.java:31) ~[querydsl-core-4.1.4.jar:na]



Spring error: No pattern found for ROWNUMBER; nested exception is java.lang.IllegalArgumentException: No pattern found for ROWNUMBER
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:384) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:246) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:491) ~[spring-orm-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) ~[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE]
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) ~[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE]
Run Code Online (Sandbox Code Playgroud)

查询DSL文档: …

java hibernate row-number querydsl spring-data

5
推荐指数
1
解决办法
666
查看次数

在 Impala 中选择确定的行

假设我需要选择 3 到 10 行。对于 MySQL,我将使用limit 对于 ORACLE,我将使用rownum

Impala 是否允许通过如此简单的方法选择确定的行?提前致谢。

row-number limit rownum impala

5
推荐指数
1
解决办法
1960
查看次数