研究员的代码中,我有一个表,其中包含每个具有日期列的行数。我想选择最近6个最近的行。我是这样做的:重新排序SELECT LIMIT查询的输出
SELECT *
FROM `Stats`
WHERE `ProjectID` = ?
ORDER BY `StatsDate` DESC
LIMIT 6
这将返回我需要的行,但它们在DESC日期顺序返回。我想要的是ASC日期顺序中的最后6行。我如何重新排序SELECT的输出?有任何想法吗?
感谢
研究员的代码中,我有一个表,其中包含每个具有日期列的行数。我想选择最近6个最近的行。我是这样做的:重新排序SELECT LIMIT查询的输出
SELECT *
FROM `Stats`
WHERE `ProjectID` = ?
ORDER BY `StatsDate` DESC
LIMIT 6
这将返回我需要的行,但它们在DESC日期顺序返回。我想要的是ASC日期顺序中的最后6行。我如何重新排序SELECT的输出?有任何想法吗?
感谢
SELECT *
FROM (
SELECT *
FROM `Stats`
WHERE `ProjectID` = ?
ORDER BY `StatsDate` DESC
LIMIT 6
) s
ORDER BY s.StatsDate
:)非常感谢超级提示响应!干杯!!!! – djeetee
环绕在以不同的顺序的外部查询和命令查询。
SELECT * FROM
(
SELECT *
FROM `Stats`
WHERE `ProjectID` = ?
ORDER BY `StatsDate` DESC
LIMIT 6
) s
ORDER BY `StatsDate` ASC
SELECT *
FROM (
FROM `Stats`
WHERE `ProjectID` = ?
ORDER BY `StatsDate` DESC
LIMIT 6
) as t
ORDER BY t.`StatsDate` ASC;
在对方第二秒内有3个几乎相同的答案... –
的可能重复[SQL拉由列排序的数据进行排序,然后从另一个角度(http://stackoverflow.com/questions/4151077/sql-to-pull-data-sorted-by -column-then-sort-it-another-way) – Johan