标签: sql-order-by

MySQL:排序GROUP_CONCAT值

简而言之:有没有办法对GROUP_CONCAT语句中的值进行排序?

查询:

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences
Run Code Online (Sandbox Code Playgroud)

我得到这一行:

工艺品»细木工

管理»组织

我希望这样:

管理»组织

工艺品»细木工

mysql sorting sql-order-by group-concat

175
推荐指数
2
解决办法
9万
查看次数

如何在mysql中自定义`show processlist`?

我想按时间排序,但似乎无法做到这一点?

mysql> show processlist;
+--------+-------------+--------------------+------+---------+--------+----------------------------------+------------------------------------------------------------------------------------------------------+
| Id     | User        | Host               | db   | Command | Time   | State                            | Info                                                                                                 |
+--------+-------------+--------------------+------+---------+--------+----------------------------------+------------------------------------------------------------------------------------------------------+
|      1 | system user |                    | NULL | Connect | 226953 | Waiting for master to send event | NULL                                                                                                 | 
|      2 | system user |                    | v3   | Connect |  35042 | Locked                           | update postings a
                                left join cities b on b.id=a.job_city_id
                                left join states h on h.id=b.stat | 
| 313888 | irnadmin …
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by filter processlist

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

为什么MYSQL更高的LIMIT偏移会降低查询速度?

简而言之:一个包含超过1600万条记录的表[大小为2GB].使用ORDER BY*primary_key时,使用SELECT的LIMIT偏移越高,查询变得越慢

所以

SELECT * FROM large ORDER BY `id`  LIMIT 0, 30 
Run Code Online (Sandbox Code Playgroud)

远远不及

SELECT * FROM large ORDER BY `id` LIMIT 10000, 30 
Run Code Online (Sandbox Code Playgroud)

这也只能订购30条记录.所以这不是ORDER BY的开销.
现在,当获取最新的30行时,大约需要180秒.如何优化该简单查询?

mysql performance sql-order-by limit

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

按IN值列表排序

我在PostgreSQL 8.3中有一个简单的SQL查询,可以获取一堆注释.我在子句中为构造提供了一个值的排序列表:INWHERE

SELECT * FROM comments WHERE (comments.id IN (1,3,2,4));
Run Code Online (Sandbox Code Playgroud)

这将以任意顺序返回注释,在我碰巧是ids之类的1,2,3,4.

我希望结果行像IN构造中的列表一样排序:(1,3,2,4).
怎么实现呢?

sql postgresql sql-order-by sql-in

146
推荐指数
7
解决办法
9万
查看次数

按SQL IN()子句中的值顺序排序

我想知道是否存在(可能更好的方式)按IN()子句中的值的顺序排序.

问题是我有2个查询,一个获取所有ID,第二个查询所有信息.第一个创建我想要第二个订购的ID的顺序.ID以正确的顺序放入IN()子句中.

所以它就像(非常简化):

SELECT id FROM table1 WHERE ... ORDER BY display_order, name

SELECT name, description, ... WHERE id IN ([id's from first])
Run Code Online (Sandbox Code Playgroud)

问题是第二个查询不会按照将ID放入IN()子句的顺序返回结果.

我发现的一个解决方案是将所有ID放入具有自动递增字段的临时表中,然后将该字段连接到第二个查询中.

有更好的选择吗?

注意:由于第一个查询是"由用户"运行而第二个查询是在后台进程中运行,因此无法使用子查询将2到1的查询组合在一起.

我正在使用MySQL,但我认为让它注意到其他数据库的选项可能也很有用.

mysql sql sql-order-by

144
推荐指数
6
解决办法
11万
查看次数

C#list.Orderby降序

我希望降序顺序收到 "Product.Name" 排序列表.

类似于下面按升序对列表进行排序的功能,只是相反,这可能吗?

var newList = list.OrderBy(x => x.Product.Name).ToList();
Run Code Online (Sandbox Code Playgroud)

c# sorting list sql-order-by

142
推荐指数
4
解决办法
31万
查看次数

SQL select语句中Order by 1的目的是什么?

我正在阅读工作中的一些旧代码,并注意到有几个带有order by 1子句的视图.这取得了什么成果?

例:

Create view v_payment_summary AS
SELECT A.PAYMENT_DATE,
       (SELECT SUM(paymentamount)
          FROM payment B
         WHERE PAYMENT_DATE = B.PAYMENT_DATE
           and SOME CONDITION) AS SUM_X,
       (SELECT SUM(paymentamount)
          FROM payment B
         WHERE PAYMENT_DATE = B.PAYMENT_DATE
           and SOME OTHER CONDITION) AS SUM_Y    
FROM payment A    
ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)

sql sql-order-by

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

如何使用SQL Order By语句对结果进行排序不区分大小写?

我有一个SQLite数据库,我试图按字母顺序排序.问题是,SQLite在排序过程中似乎没有考虑A = a,因此我得到如下结果:

A B C T a b c g

我想得到:

A a b B C c g T

我不知道需要做什么特殊的SQL事情?

SELECT * FROM NOTES ORDER BY title
Run Code Online (Sandbox Code Playgroud)

sql sqlite sorting sql-order-by

133
推荐指数
2
解决办法
10万
查看次数

GROUP_CONCAT ORDER BY

我有一张桌子:

+-----------+-------+------------+
| client_id | views | percentage |
+-----------+-------+------------+
|         1 |     6 |         20 |
|         1 |     4 |         55 |
|         1 |     9 |         56 |
|         1 |     2 |         67 |
|         1 |     7 |         80 |
|         1 |     5 |         66 |
|         1 |     3 |         33 |
|         1 |     8 |         34 |
|         1 |     1 |         52 |
Run Code Online (Sandbox Code Playgroud)

我试过了group_concat:

SELECT li.client_id, …
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by group-concat

121
推荐指数
4
解决办法
10万
查看次数

SQL订单字符串作为数字

我将数字保存为VARCHARMySQL数据库.INT由于其他一些具体情况,我无法制作它们.

排序时将它们作为字符而不是数字.

在数据库中我有

1 2 3 4 5 6 7 8 9 10...
Run Code Online (Sandbox Code Playgroud)

在我的页面上,它显示如下的有序列表:

1 10 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

如何使数字按升序排列?

mysql sql string numbers sql-order-by

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