标签: sql-order-by

如何使用SELECT WHERE IN()保持订单?

使用SELECT WHERE IN()时有没有办法保持顺序?例如,使用以下查询:

SELECT id FROM data_table WHERE id IN(56,55,54,1,7);
Run Code Online (Sandbox Code Playgroud)

结果将使用id的默认顺序返回.1,7,54,55,56

当我想保持IN中使用的顺序时:56,55,54,1,7

有没有一种快速的方法在mySQL中执行此操作,或者我将被迫在代码之后对其进行排序.

谢谢 :)

mysql sql database sql-order-by

16
推荐指数
1
解决办法
9083
查看次数

带参数的JPQL ORDER BY子句

我正在尝试使用ORDER BY子句编写JPQL查询:

query = "SELECT c FROM item ORDER BY c.name ASC"
Run Code Online (Sandbox Code Playgroud)

我想设置一个"order"参数,其值可以是"ASC"或"DESC":

query = "SELECT c FROM item ORDER BY c.name :order"
Run Code Online (Sandbox Code Playgroud)

然后在我的实现中:

query.setParameter("order", "ASC");
Run Code Online (Sandbox Code Playgroud)

这是我收到Hibernate错误的时候:

org.hibernate.HibernateException: Errors in named queries
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?谢谢!

orm hibernate jpa sql-order-by jpql

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

Django按两个字段订购商品,但如果它们为零,则忽略它们

我有以下模型(为了这个问题的目的大大简化):

class Product(models.Model):
    price = models.DecimalField(max_digits=8, decimal_places=2)
    sale_price = models.DecimalField(max_digits=10, blank=True, null=True, decimal_places=2)
Run Code Online (Sandbox Code Playgroud)

对于大多数产品,价格将被填补,但sale_price将不会.所以,我可以按价格订购产品:

Product.objects.order_by('price')
Product.objects.order_by('-price')
Run Code Online (Sandbox Code Playgroud)

但是,有些产品会有sale_price,我找不到一种方法来整齐地订购这些产品,以便销售价格与正常价格交错.如果我尝试按两个字段排序:

Product.objects.order_by('sale_price','price')
Run Code Online (Sandbox Code Playgroud)

...然后,所有未售出的产品一起显示,然后是所有产品,而不是交叉价格.

这有意义吗?有没有人有办法解决这个问题?

谢谢!

django sql-order-by django-orm

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

Order by不能与LINQ中的Concat()一起使用

使用VB.net和以下LINQ语句.我怀疑"Order by"不起作用Concat().我想列出用户拥有的当前项目,然后按顺序列出更多可用项目.所以首先我从数据库中选择当前项目,然后按顺序选择下一个可用项目.LINQ忽略了order by语句并按PK排序(这是itemID)我在执行语句后立即检查了列表.当我分解声明并单独执行它们时,它们按预期工作.任何想法,建议或评论.谢谢,PM

(From items In myDatabase.ItemAssignments _
 Where items.BuildingID = buildingID _
 And items.ResidentID = ResidentID _
 Select items).Concat(From moreitems In myDatabase.ItemAssignments _
                      Where moreitems.occupied = 0 _
                      And moreitems.BuildingID = buildingID _
                      Order by moreitems.Floor, moreitems.ItemNumber _
                      Select moreitems)
Run Code Online (Sandbox Code Playgroud)

.net linq vb.net sql-order-by

16
推荐指数
1
解决办法
1949
查看次数

使用union的mysql命令似乎不起作用

这是我的查询

(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only three doors%" OR `joke` LIKE "%only three doors%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%only%" OR `joke` LIKE "%only%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND (`title` LIKE "%three%" OR `joke` LIKE "%three%") ORDER BY `ups` DESC,`downs` ASC)
UNION
(SELECT * FROM `jokes` WHERE `flags` < 5 AND …
Run Code Online (Sandbox Code Playgroud)

mysql union select sql-order-by

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

Postgres:左边加入订单依据和限制1

我有这样的情况:

Table1 has a list of companies.
Table2 has a list of addresses.
Table3 is a N relationship of Table1 and Table2, with fields 'begin' and 'end'.
Run Code Online (Sandbox Code Playgroud)

由于公司可能会随着时间的推移而移动,因此其中的LEFT JOIN会为每家公司带来多条记录.

beginend字段永远不会为NULL.找到最新地址的解决方案是使用a ORDER BY being DESC,并删除旧地址是一个LIMIT 1.

如果查询只能带来一家公司,那该工作正常.但我需要一个查询,它带来所有Table1记录,并与当前的Table2地址相连接.因此,必须在LEFT JOIN的ON子句中删除过时的数据(AFAIK).

知道如何构建条款不创建重复的Table1公司并带来最新地址吗?

postgresql sql-order-by left-join foreign-key-relationship duplicate-removal

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

以预定义的顺序返回查询结果

是否可以使用预定的顺序执行SELECT语句,即.选择ID 7,2,5,9和8 并按顺序返回它们,仅基于ID字段?

语句SELECT id FROM表WHERE id in(7,2,5,9,8); 和SELECT id FROM表WHERE id in(8,2,5,9,7); 两者都以相同的顺序返回它们.

mysql sql-order-by

15
推荐指数
1
解决办法
7930
查看次数

mysql如何对具有相同值的行进行排序

在我的数据库中,我有一些记录,我按照恰好相同的值进行排序:

| col1 | timestamp              |
| row1 | 2011-07-01 00:00:00    |
| row2 | 2011-07-01 00:00:00    |
| row3 | 2011-07-01 00:00:00    |

SELECT ... ORDER BY timestamp
Run Code Online (Sandbox Code Playgroud)

看起来结果是随机顺序.随机顺序是否一致.这意味着如果我在两个mysql服务器中有这些数据.我可以期待相同的结果吗?

mysql sql-order-by

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

无法优化使用ORDER BY子句的MySQL查询

我正在使用Drupal 6与MySQL 5.0.95版本,并且陷入僵局,其中我的一个基于最近文章日期显示内容的查询速度变慢,并且由于使用频率导致网站性能完全丧失.有问题的查询如下:

     SELECT n.nid, 
            n.title, 
            ma.field_article_date_format_value, 
            ma.field_article_summary_value
       FROM node n 
 INNER JOIN content_type_article ma ON n.nid=ma.nid
 INNER JOIN term_node tn            ON n.nid=tn.nid 
      WHERE tn.tid= 153 
        AND n.status=1 
   ORDER BY ma.field_article_date_format_value DESC 
      LIMIT 0, 11;
Run Code Online (Sandbox Code Playgroud)

查询的EXPLAIN显示以下结果:

+----+-------------+-------+--------+--------------------------+---------+---------+----------------------+-------+---------------------------------+
| id | select_type | table | type   | possible_keys            | key     | key_len | ref                  | rows  | Extra                           |
+----+-------------+-------+--------+--------------------------+---------+---------+----------------------+-------+---------------------------------+
|  1 | SIMPLE      | tn    | ref    | PRIMARY,nid              | PRIMARY | 4       | const                | 19006 | Using temporary; …
Run Code Online (Sandbox Code Playgroud)

mysql indexing sql-order-by query-optimization

15
推荐指数
2
解决办法
1050
查看次数

ORMLITE ORDER_BY有多列

我在最近的android项目中使用了ormlite.我想通过查询表中的多个列(比如两列)来排序.我怎么能实现那个?

以下是单个订单的代码......

QueryBuilder<Visit, Integer> qb = getHelper().getVisitDao().queryBuilder();
qb.where().eq("FOREIGN_ID", id);
qb.orderBy("VISIT_DATE", false);
Run Code Online (Sandbox Code Playgroud)

android sql-order-by ormlite

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