标签: sql-order-by

Hibernate命名查询顺序依据参数

嗨,任何人都可以指出我们如何将order by子句作为命名参数传递给hql

例如:

作品:

select tb from TransportBooking as tb

and TIMESTAMP(tb.bookingDate, tb.bookingTime) >= current_timestamp() order by tb.bookingDate
Run Code Online (Sandbox Code Playgroud)

不起作用:

select tb from TransportBooking as tb

and TIMESTAMP(tb.bookingDate, tb.bookingTime) >= current_timestamp() order by :order
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hql sql-order-by

19
推荐指数
2
解决办法
4万
查看次数

在SELECT INTO中保留ORDER BY

我有一个tSQL查询,它从一个表中获取数据并将其复制到一个新表中,但只有满足特定条件的行:

SELECT VibeFGEvents.* 
INTO VibeFGEventsAfterStudyStart 
FROM VibeFGEvents
LEFT OUTER JOIN VibeFGEventsStudyStart
ON 
    CHARINDEX(REPLACE(REPLACE(REPLACE(logName, 'MyVibe ', ''), ' new laptop', ''), ' old laptop', ''), excelFilename) > 0
    AND VibeFGEventsStudyStart.MIN_TitleInstID <= VibeFGEvents.TitleInstID
    AND VibeFGEventsStudyStart.MIN_WinInstId <= VibeFGEvents.WndInstID
WHERE VibeFGEventsStudyStart.excelFilename IS NOT NULL
ORDER BY VibeFGEvents.id
Run Code Online (Sandbox Code Playgroud)

使用该表的代码依赖于它的顺序,上面的副本不保留我预期的顺序.也就是说,新表VibeFGEventsAfterStudyStart中的行在VibeFGEventsAfterStudyStart.id复制的列中不会单调增加VibeFGEvents.id.

在TSQL怎么可能我是从维护中行的排序VibeFGEventsVibeFGEventsStudyStart

t-sql sql-server sql-order-by select-into

19
推荐指数
4
解决办法
6万
查看次数

SQL:在使用Order By的UNION查询中使用Top 1

我有一张桌子如下

Rate Effective_Date
---- --------------
5.6  02/02/2009
5.8  05/01/2009
5.4  06/01/2009
5.8  12/01/2009
6.0  03/15/2009
Run Code Online (Sandbox Code Playgroud)

我应该找到对当前日期和之后有效的所有费率.因此,为了获得当前有效率,我使用

SELECT TOP 1 * from table 
where effective_date < '05/05/2009' 
order by effective date desc
Run Code Online (Sandbox Code Playgroud)

查询当前日期之后的费率

SELECT * from table 
where effective_date > '05/05/2009'
Run Code Online (Sandbox Code Playgroud)

要结合这两个结果,我使用union作为

SELECT TOP 1 * from table 
where effective_date < '05/05/2009' 
order by effective date desc

UNION

SELECT * from table 
where effective_date > '05/05/2009'
Run Code Online (Sandbox Code Playgroud)

预期的结果是

Rate Effective Date
---- --------------
5.8  05/01/2009
5.4  06/01/2009
5.8  12/01/2009
6.0  03/15/2009
Run Code Online (Sandbox Code Playgroud)

但我得到了实际的结果 …

sql-server union sql-order-by

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

使用ORDER BY时查询速度慢

这是查询(最大的表有大约40,000行)

SELECT
  Course.CourseID,
  Course.Description,
  UserCourse.UserID,
  UserCourse.TimeAllowed,
  UserCourse.CreatedOn,
  UserCourse.PassedOn,
  UserCourse.IssuedOn,
  C.LessonCnt
FROM
  UserCourse
INNER JOIN
  Course
USING(CourseID)
INNER JOIN
(
  SELECT CourseID, COUNT(*) AS LessonCnt FROM CourseSection GROUP BY CourseID
) C
USING(CourseID)
WHERE 
  UserCourse.UserID = 8810
Run Code Online (Sandbox Code Playgroud)

如果我运行它,它会很快执行(大约.05秒).它返回13行.

当我ORDER BY在查询末尾添加一个子句(按任何列排序)时,查询大约需要10秒.

我现在在生产中使用这个数据库,一切正常.我所有的其他疑问都很快.

有什么想法可能是什么?我在MySQL的查询浏览器中运行查询,并从命令行运行.这两个地方都很慢了ORDER BY.

编辑: Tolgahan ALBAYRAK解决方案的工作原理,但谁能解释为什么它的工作原理?

mysql sql-order-by

18
推荐指数
2
解决办法
3万
查看次数

如何更改sqlite3数据库的排序规则以不敏感地排序大小写?

我有一个查询sqlite3数据库,它提供了排序数据.数据基于varchar列"名称" 列进行排序.现在当我进行查询时

select * from tableNames Order by Name;
Run Code Online (Sandbox Code Playgroud)

它提供这样的数据.

    Pen
    Stapler
    pencil

意味着它正在考虑区分大小写的东西.我想要的方式如下

    Pen
    pencil
    Stapler

那么我应该在sqlite3数据库中进行哪些更改以获得必要的结果?

相关如何在字符串比较时将Sqlite3设置为不区分大小写?

sql sqlite sql-order-by case-insensitive

18
推荐指数
2
解决办法
3万
查看次数

使用SELECT ... WHERE id IN(...),按IN()排序结果?

可能重复:
按SQL IN()子句中的值顺序排序

使用如下查询:

SELECT * FROM images WHERE id IN (12,9,15,3,1)
Run Code Online (Sandbox Code Playgroud)

是否可以通过IN子句的内容对结果进行排序?

我正在寻找的结果将是这样的:

[0] => Array
    (
        [id] => 12
        [file_name] => foo
    )   
[1] => Array
    (
        [id] => 9
        [file_name] => bar
    )   
[2] => Array
    (
        [id] => 15
        [file_name] => baz
    )
...
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-order-by

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

如何避免OrderBy - 内存使用问题

假设我们有一个大的点列表List<Point> pointList(已经存储在内存中),其中每个点都Point包含X,Y和Z坐标.

现在,我想选择N%的点,其中存储的所有点的Z值最大pointList.现在我这样做:

N = 0.05; // selecting only 5% of points
double cutoffValue = pointList
    .OrderBy(p=> p.Z) // First bottleneck - creates sorted copy of all data
    .ElementAt((int) pointList.Count * (1 - N)).Z;

List<Point> selectedPoints = pointList.Where(p => p.Z >= cutoffValue).ToList();
Run Code Online (Sandbox Code Playgroud)

但我有两个内存使用瓶颈:首先是在OrderBy期间(更重要),第二是在选择点时(这不太重要,因为我们通常只想选择少量的点).

是否有任何方法可以用更少内存的东西替换OrderBy(或者可能是其他方式找到这个截止点)?

这个问题非常重要,因为LINQ会复制整个数据集,对于我正在处理的大文件,它有时会达到几百MB.

c# linq memory sql-order-by

18
推荐指数
2
解决办法
2821
查看次数

ActiveRecord查找全部不按ID排序?

我在Heroku部署上遇到了一个奇怪的问题,我似乎无法在本地复制.基本上当我在特定模型上找到所有内容而不是按ID排序时,它似乎根本无法返回它们.

通常记录如下:

>> Model.all

=> [<model id: 2>,<model id: 1>,<model id: 3>,<model id: 4>,<model id: 5>]
Run Code Online (Sandbox Code Playgroud)

... 等等.

如果我明确地调用Model.order("id ASC")它,则按预期返回模型.

是什么赋予了?为什么会发现所有不按降序ID顺序返回对象?

activerecord sql-order-by ruby-on-rails-3

18
推荐指数
2
解决办法
8165
查看次数

在cakephp中按字段排序

我在cakephp做项目.

我想在cakephp Style中写下面的查询.我写了50%.请帮我

$这个 - >登录 - >找到( '全部')

SELECT * FROM login  
ORDER BY FIELD(profile_type, 'Basic', 'Premium') DESC;
Run Code Online (Sandbox Code Playgroud)

php cakephp sql-order-by

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

当没有指定order by时,SELECT TOP如何工作?

MSDN文档说,当我们写

SELECT TOP(N) ..... ORDER BY [COLUMN]
Run Code Online (Sandbox Code Playgroud)

我们得到排序的前(n)行column(ascdesc取决于我们选择的内容)

但是如果我们没有指定任何顺序,msdn random就像这里Gail Erickson指出的那样说.正如他所指出的它应该是而不是.但正如那点那样unspecifiedrandom Thomas Lee

当TOP与ORDER BY子句一起使用时,结果集仅限于前N个有序行; 否则,它返回前N个行ramdom

所以,我在没有任何索引的表上运行此查询,首先我运行了这个..

SELECT *
FROM
    sys.objects so
WHERE
    so.object_id NOT IN (SELECT si.object_id
                         FROM
                             sys.index_columns si)
    AND so.type_desc = N'USER_TABLE'
Run Code Online (Sandbox Code Playgroud)

然后在其中一个表中,(实际上我在上面查询返回的所有表中尝试了下面的查询)并且我总是得到相同的行.

SELECT TOP (2) *
FROM
    MstConfigSettings
Run Code Online (Sandbox Code Playgroud)

这总是返回相同的2行,对于查询1返回的所有其他表也是如此.现在执行计划显示3个步骤..

在此输入图像描述

正如您所看到的,没有索引查找,它只是一个纯表扫描,并且

在此输入图像描述

Top行示出了实际不为2,也是如此的Table Scan; 事实并非如此(我有很多行).

但是,当我运行类似的东西

SELECT TOP (2) *
FROM
    MstConfigSettings
ORDER BY
    DefaultItemId
Run Code Online (Sandbox Code Playgroud)

执行计划显示

在此输入图像描述

在此输入图像描述

所以,当我不申请时ORDER …

sql t-sql sql-server select sql-order-by

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