gpt4 book ai didi

mysql 从选择中选择

转载 作者:可可西里 更新时间:2023-11-01 07:09:10 25 4
gpt4 key购买 nike

我有这个问题:

    SELECT DATE( a.created_at ) AS order_date, count( * ) as cnt_order
FROM `sales_order_item` AS a
WHERE MONTH( a.created_at ) = MONTH( now())-1
GROUP BY order_date

这将返回类似这样的结果(仅快照,否则每 31 天返回一次):

order_date  cnt_order 
2012-08-29 580
2012-08-30 839
2012-08-31 1075

我的完整查询是根据以上选择进行选择:

SELECT order_date
, MAX(cnt_order) AS highest_order
FROM (
SELECT DATE (a.created_at) AS order_date
, count(*) AS cnt_order
FROM `sales_order_item` AS a
WHERE MONTH(a.created_at) = MONTH(now()) - 1
GROUP BY order_date
) AS tmax

但结果是:

order_date  highest_order
2012-08-01 1075

它的日期有误,总是选择它假定为 2012-08-31 的第一行日期。也许这是一个我不知道的简单错误。那么如何让日期正确指向 2012-08-31 呢?任何帮助都会很棒。

最佳答案

您可以尝试对子查询结果集进行排序;像这样的东西:

SELECT
DATE (a.created_at) AS order_date,
COUNT(*) AS cnt_order
FROM
`sales_order_item` AS a
WHERE
MONTH(a.created_at) = MONTH(now()) - 1
GROUP BY
order_date
ORDER BY
cnt_order DESC

关于mysql 从选择中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12506610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com