当前位置: 首页 > 知识库问答 >
问题:

按DESC排序的SQL命令不工作

夏侯朝斑
2023-03-14
select 

customers.id,
customers.Name,
customers.Surname,

(select ifnull(sum(bets.amount),0)
from bets 
where customers.id=bets.customerId
and bets.date >'2014-06-01'
and bets.date <'2014-06-02'
order by bets.amount DESC
) as '1st_June',

(select ifnull(sum(bets.amount),0)
from bets 
where customers.id=bets.customerId
and bets.date >'2014-06-02'
and bets.date <'2014-06-03'
order by bets.amount DESC
) as '1st_June',


from customers

group by customers.id

我需要有一个DESC订单,因为我想限制100,所以我得到前100个值。有人能建议一个办法吗...?

共有1个答案

荆利
2023-03-14

命令不能像那样通过小组。

这应该会给你你想要的东西:

SELECT customers.id
    ,customers.Name
    ,customers.Surname
    ,(
        SELECT ifnull(sum(bets.amount), 0)
        FROM bets
        WHERE customers.id = bets.customerId
            AND bets.date > '2014-06-01'
            AND bets.date < '2014-06-02'
        ) AS First_June
    ,(
        SELECT ifnull(sum(bets.amount), 0)
        FROM bets
        WHERE customers.id = bets.customerId
            AND bets.date > '2014-06-02'
            AND bets.date < '2014-06-03'
        ) AS Second_June
FROM customers
GROUP BY customers.id
ORDER BY First_June DESC
    ,Second_June DESC
LIMIT 100
  • 注意:(改为“first_june”。在多个SQL服务器中,以数字开头的列名会出现问题,您没有指定使用的名称。Oracle、MS SQL、MySql、Postgres等)
 类似资料:
  • 我有一个sql查询 所以我显然想按价格从高到低来订购。然而,它似乎是取第一个数字并按其排序。我的理论是,它将它视为字符串,由于列是varchar,这是有意义的。然而,这是第三方数据,所以我被它卡住了。我怎样才能订购,使较大的数字在前? 这是一个如何排序的例子

  • 问题内容: 我只是想按ID对评论进行排序,但是这样做并不幸运。无法弄清楚该怎么办,因为这使我感到困惑: 你们碰巧知道我如何通过DESC中的ID来订购评论吗?谢谢! 问题答案: 首先,您要进行两次相同的操作。这是不必要的,因为您可以计算行数并从单个查询中获取数据。除此之外,用注释表的唯一ID替换您,即可设置好。替换为以颠倒排序顺序。

  • 问题内容: 我想使查询中的排序成为条件排序,因此,如果满足条件,则应通过降序排序 例如: 问题答案: 请勿更改或,更改要排序的事物的符号: OP问: 伙计们,我不是SQL Expert,请向我解释一下id和-id的含义,它可以控制排序方向吗? id就是您要作为排序依据的任何列;-id只是对它的取反,id * -1。如果要按不止一列进行排序,则需要取反每一列: 如果按非数字列排序,则需要查找使该列为

  • 我面临commandButton的问题,它只有在类型为submit时才起作用。有没有人可以看一下,让我知道是否有解决办法?下面的代码非常简单,并有足够的建议来说明我需要什么。方法test()未执行。方法runSubmit已成功执行。 我需要测试方法在没有提交的情况下执行,因为原始页面确实在提交期间执行了验证,test()方法必须在没有提交的情况下执行,因为这是提交之前的一个初步操作。 我正在使用P

  • 我有下面的MYSQL表 我的查询是: 这不是正确的排序。我做错了什么?

  • 问题内容: 桌子: 的PHP HTML结果: 任何人都注意到桌上的结果。时代是不正确的顺序? 我改变了另一种方式与ASC / DESC,仍然显示最后一个id_timeslot的时间吗? 预期结果: 问题答案: 您正在对记录进行分组,因此每种情况下您只会看到最后一次。 尝试使用