【问题标题】:ORDER BY ASC DESC & LIMITORDER BY ASC DESC 和 LIMIT
【发布时间】:2016-09-07 08:48:37
【问题描述】:

我会做这样的事情:

SELECT Position INTO lastPosition FROM ranking 
ORDER BY ranking.Time DESC ranking.Position DESC LIMIT 1;

但我收到此错误:

和:

和:

目标是选择ranking 的最后一行(限制1),按后代positionascendent 时间排序。


更新

问题是第一个DESC后缺少逗号,正确的说法是

SELECT Position INTO lastPosition FROM ranking 
ORDER BY ranking.Time DESC, ranking.Position DESC LIMIT 1;

注意到@Solarflare。

【问题讨论】:

  • 在这里,你会因为“不起作用”之类的短语而得到减一,所以我会开始滚动......
  • 它不起作用是什么意思?您遇到的错误消息或意外行为是什么?
  • 上述语句是在存储过程/函数内部还是外部?
  • 您在第一个 desc 之后缺少一个逗号。你想得到什么?最后一排?然后你必须颠倒你的顺序并采取第一个。
  • 是的,问题是缺少逗号。现在可以了:... ORDER BY ranking.Time DESC, ranking.Position DESC LIMIT 1;

标签: mysql sql-order-by sql-limit


【解决方案1】:

问题是在第一个 DESC 之后缺少逗号,正确的说法是

SELECT Position INTO lastPosition FROM ranking 
ORDER BY ranking.Time DESC, ranking.Position DESC LIMIT 1;

@Solarflare 注意到。

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 2020-02-19
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多