我有一张表格,里面有关于电视节目的信息,我想按季节和剧集订购.这是我所拥有的基本视图:
+---+--------+---------+
|id | Season | Episode |
+---+--------+---------+
| 1 | 1 | 1 |
+---+--------+---------+
| 1 | 1 | 2 |
+---+--------+---------+
| 1 | 2 | 1 |
+---+--------+---------+
| 1 | 2 | 3 |
+---+--------+---------+
Run Code Online (Sandbox Code Playgroud)
所以我选择了我需要的东西并按季节订购.但是季节之间会有很多,所以我也需要对剧集进行排序,但不会影响季节.
我想更新表中列的前10个值.我有三列; id,account和accountrank.要获得前10个值,我可以使用以下内容:
SELECT * FROM accountrecords
ORDER BY account DESC
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
我想要做的是根据的大小将值设置accountrank为一系列.这可以在PostgreSQL中做到吗?1 - 10account
嗨,我有一个商店程序,我在那里做一个选择查询.我希望通过外部参数来订购.
我发布了一个最小的例子:
CREATE PROCEDURE [dbo].[up_missioni_get_data]
@order VarChar(100)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT * from missioni ORDER BY ...
END
Run Code Online (Sandbox Code Playgroud)
我可以按顺序写什么呢?
谢谢
我有一个for循环,我想按字母顺序命名
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
看着怎么做,想知道即使我可以在forloop中使用linq orderby?
运行PostgreSQL(7.4和8.x),我认为这是有效的,但现在我遇到了错误.
我可以单独运行查询,它工作正常,但如果我UNION或UNION ALL它会抛出一个错误.
这个错误输出:(警告:pg_query():查询失败:错误:列"Field1"不存在... ORDER BY CASE"Field1"W ...)
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE condition
AND other_condition
UNION ALL
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS field_4
FROM "TableName"
WHERE yet_another_condition
AND yet_another_other_condition
ORDER BY CASE "Field1"
WHEN 'A' THEN 1
WHEN 'B' THEN 2
WHEN 'C' THEN 3
ELSE 4
END
Run Code Online (Sandbox Code Playgroud)
这有效:
SELECT "Field1" AS field_1, "Field2" AS field_2,
"Field3" AS field_3, "Field4" AS …Run Code Online (Sandbox Code Playgroud) 我有一个order_by的循环:created_at和:desc
<% for comment in post.comments.order_by([:created_at, :desc]) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如何在每个块中执行order_by([:created_at,:desc]),ej:
<% post.comments.each do |comment|%>
<% end %>
Run Code Online (Sandbox Code Playgroud)
编辑
对我来说工作正常的代码:
post.comments.order([:created_at, :desc])[0,5].each do |comment|
Run Code Online (Sandbox Code Playgroud)
用[0,5]将结果限制为间隔.
我有一个表:abc_test,列n_num,k_str.
此查询不起作用:
select distinct(n_num) from abc_test order by(k_str)
Run Code Online (Sandbox Code Playgroud)
但是这个有效:
select n_num from abc_test order by(k_str)
Run Code Online (Sandbox Code Playgroud)
DISTINCT和ORDER BY关键字如何在内部工作,以改变两个查询的输出?
什么是最好,最简单的方法?我的查询目前是:
SELECT *
FROM chat
WHERE (userID = $session AND toID = $friendID)
OR (userID = $friendID AND toID = $session)
ORDER BY id
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
这显示前10行,而不是最后10行.
编辑:我想要最后10行(是的,DESC这样做)但是我希望它们以ASCENDING顺序返回.
我正在尝试根据另一列的值来排序某些不同聚合文本的输出顺序,例如:
string_agg(DISTINCT sometext, ' ' ORDER BY numval)
Run Code Online (Sandbox Code Playgroud)
但是,这会导致错误:
错误:在与DISTINCT聚合时,ORDER BY表达式必须出现在参数列表中
我确实理解为什么会这样,因为如果numval两个重复值中的顺序不同,则排序将是"不明确的" ,而另一个重复值之间的排序将是"不明确的" .
理想情况下,我想按照第一次出现/最低顺序排序它们,但是在我的数据中,不明确的情况实际上是非常罕见的(它主要是顺序重复的值,我想用它除去DISTINCT)我最终不要特别关心他们的订购,并且会对像MySQL这样的东西感到满意,GROUP_CONCAT(DISTINCT sometext ORDER BY numval SEPARATOR ' ')尽管它很邋..
我希望Postgres的一些扭曲是必要的,但我真的不知道最有效/简洁的方法是什么.
我使用 Cosmos Db,需要按COUNT的结果对结果进行排序。
我更喜欢直接在 Cosmosdb 查询的输出中对结果进行排序,而不是每次自己对结果进行排序(或为其创建服务)。
在 Azure 的文档资源管理器中,我对 AggregateEvent 集合执行以下请求:
SELECT * FROM (
SELECT COUNT(1) AS AlarmCount, a.AlarmType FROM AggregatedEvent a
WHERE a.AlarmType != null and a.Prom > 0
GROUP BY a.AlarmType ) AS g
ORDER BY g.AlarmCount
Run Code Online (Sandbox Code Playgroud)
结果出现以下错误消息:
无法解析标识符“AlarmCount”。
如果我使用另一个属性来排序 g.AlarmType(文档中存在的属性),则执行排序。
仅当您有办法使用 CosmosDb 归档订单时,请添加答案。
sql-order-by ×10
sql ×6
postgresql ×3
distinct ×2
mysql ×2
azure ×1
c# ×1
case ×1
each ×1
for-loop ×1
linq ×1
oracle ×1
oracle9i ×1
php ×1
sql-limit ×1
sql-server ×1
sql-update ×1
union ×1