我有一个包含2个'datetime'字段的表:'eventDate'和'eventHour'.我试图通过'eventDate'然后'eventHour'来订购.
对于每个日期,我将有一个列表事件,所以这就是为什么我将按日期和时间排序.
谢谢!!
可以根据特定订单在Linq上订购吗?就像是
List<bbHeader> bb = new List<bbHeader>();
bb.OrderBy(x => x.Country.CompareTo(new string[]{"AR","CL","PY","UY","AUP"}));
Run Code Online (Sandbox Code Playgroud)
我们的想法是根据字符串的特定顺序对Country字段进行排序
我有一个查询,我需要根据查询字符串参数进行ordeby.例如,如果sortby参数是价格,Query需要随价格变化.如果其评级比更改查询按评级排序.
我知道PredicateBuilder可以做And和OR的东西,但我如何进行动态ordeby linq查询.
我有一个mysql语句
SELECT *
FROM tbl_messages
WHERE to_user_id = '$user_id' OR from_user_id = '$user_id'
GROUP BY from_user_id
ORDER BY date_sent DESC
Run Code Online (Sandbox Code Playgroud)
并且它产生了正确的结果,但它们的顺序不正确.
分组效果很好,但是组中显示的记录是第一个记录在数据库中的记录,但我希望在每个组中显示最新记录.
有没有办法为每个组显示最新记录?
2011-12-19 12:16:25 This is the first message
2011-12-19 12:18:20 This is the second message
2011-12-19 12:43:04 This is the third message
Run Code Online (Sandbox Code Playgroud)
该组显示"这是第一条消息",我希望"这是第三条消息",因为这是最新的记录/消息.
干杯
我有一个Linq查询,它返回一个ordererd列表,它可以工作但是当排序一个布尔值时,它总是首先放置false项.
return from workers in db.Workers
orderby workers.active, workers.naam
select workers;
Run Code Online (Sandbox Code Playgroud)
有没有办法先订购真正的物品.
谢谢你的帮助
大卫
GROUP BY子句对行进行分组,但不一定按任何特定顺序对结果进行排序.要更改顺序,请使用GROUP BY子句后面的ORDER BY子句.ORDER BY子句中使用的列必须出现在SELECT列表中,这与正常使用ORDER BY不同.[Oracle示例,第四版,第274页]
这是为什么?为什么使用GROUP BY会影响SELECT子句中的必需列?
此外,在我不使用GROUP BY的情况下:为什么我要ORDER BY某些列,但是然后只选择列的一个子集?
我有一个查询的问题,这需要太长时间(这个简单的查询超过两秒).
首先看它似乎是一个索引问题,所有连接的字段都被编入索引,但我找不到我可能需要索引的其他内容以加快这一点.只要我添加查询所需的字段,它就会变得更慢.
SELECT `jobs`.`job_id` AS `job_id` FROM tabledef_Jobs AS jobs
LEFT JOIN tabledef_JobCatLink AS jobcats ON jobs.job_id = jobcats.job_id
LEFT JOIN tabledef_Applications AS apps ON jobs.job_id = apps.job_id
LEFT JOIN tabledef_Companies AS company ON jobs.company_id = company.company_id
GROUP BY `jobs`.`job_id`
ORDER BY `jobs`.`date_posted` ASC
LIMIT 0 , 50
Run Code Online (Sandbox Code Playgroud)
表行数(〜):tabledef_Jobs(108k),tabledef_JobCatLink(109k),tabledef_Companies(100),tabledef_Applications(50k)
在这里你可以看到描述.'使用临时'似乎是减慢查询速度的原因:

表索引截图:




任何帮助将不胜感激
用答案编辑
感谢@Steve(标记答案)的最终改进查询.最终,最终查询从~22s减少到~0.3s:
SELECT `jobs`.`job_id` AS `job_id` FROM
(
SELECT * FROM tabledef_Jobs as jobs ORDER BY `jobs`.`date_posted` ASC LIMIT 0 , 50
) AS jobs
LEFT JOIN tabledef_JobCatLink …Run Code Online (Sandbox Code Playgroud) 某些SQL服务器允许使用通用语句,例如ORDER BY PRIMARY KEY.我不认为这适用于MySQL,是否有任何此类解决方法允许跨多个表自动选择或是否需要查询查询来确定主键?
我一直在努力的解决方法涉及SHOW COLUMNS FROM在运行查询之前调用.有更有效的方法吗?MySQL可以在选择过程中确定表的主键吗?
更新: 正如戈登指出的那样,在MySQL或SQL中没有官方的方法可以做到这一点.SAP具有自定义功能.有一些解决方法,例如与John 一起工作SHOW COLUMNS FROM table或information_schema正如John指出的那样.
我有一个大表(大约 11,000,000 行),我需要找到给定排序条件的第一项。
请注意,列Date没有不接受空
为什么 Postgres 不使用索引:
CREATE INDEX track_ix_date
ON "Track"
USING btree
("Date" DESC NULLS LAST);
Run Code Online (Sandbox Code Playgroud)
在这个简单的查询中:
select * from "Track" order by "Date" desc limit 1
Run Code Online (Sandbox Code Playgroud)
但它确实在另一个查询中使用了它:
select * from "Track" order by "Date" desc nulls last limit 1
Run Code Online (Sandbox Code Playgroud)
第二个查询实际上比第一个查询快得多。
我已经阅读了索引和 ORDER BY文档,并说在ORDER BYwith aLIMIT子句的特殊情况下使用索引而不是扫描表更有效,因为排序需要扫描整个表才能获得一个物品
Postgresnulls last / first不应该检测到这无关紧要,因为该列不接受空值而只使用最快的方法吗?
在写入 csv 之前,我试图在 pyspark 数据框中使用 OrderBy 函数,但如果我有一个列列表,我不确定是否使用 OrderBy 函数。
代码:
Cols = ['col1','col2','col3']
df = df.OrderBy(cols,ascending=False)
Run Code Online (Sandbox Code Playgroud) sql-order-by python-3.x apache-spark apache-spark-sql pyspark
sql-order-by ×10
mysql ×4
c# ×3
group-by ×3
linq ×2
sql ×2
.net ×1
apache-spark ×1
datetime ×1
indexing ×1
left-join ×1
linq-to-sql ×1
oracle ×1
postgresql ×1
primary-key ×1
pyspark ×1
python-3.x ×1