【发布时间】:2014-06-10 15:03:21
【问题描述】:
我正在使用子查询进行相对较小的查询,我想按降序对子查询结果进行排序。但在结果中,子查询没有按降序排列。看不到 ORDER BY 对我不起作用的原因...
我的查询:
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 个值。有人可以建议一种方法吗...?
【问题讨论】:
-
您想要每位客户的前 100 名投注吗?如果是这样,您使用的是什么数据库?
-
或者.. 前 100 个投注金额值...和/或无论 6 月 1 日还是 6 月 2 日的最高投注?
-
您的子查询按 desc 顺序排序。但是,您不能保证在连接两个查询后,结果会以相同的顺序显示。为什么不在最后按日期和金额对它们进行排序?
标签: sql