【问题标题】:Flipping a descending value翻转递减值
【发布时间】:2017-01-10 09:28:38
【问题描述】:

我想反转我在这里的结果:

我知道我必须使用子查询,但它不起作用,因为我的 SQL 代码是这样的:

SELECT MONTH(CaseTime) as 'Month', 
       COUNT(Case_ID) as 'Num' 
FROM `Case`
GROUP BY MONTH(CaseTime) 
ORDER BY CaseTime DESC LIMIT 6

MONTH(CaseTime) 可能与别名冲突。

当前输出为:

月/数 5 / 1 4 / 1 3 / 1 2 / 1 1 / 18 12 / 13

预期输出应该是:

月 12 / 13 1 / 18 2 / 1 3 / 1 4 / 1 5 / 1

【问题讨论】:

  • 你想要怎样的结果?添加预期的输出。
  • 试试ORDER BY 1 DESC LIMIT 6
  • @Ullas 抱歉编辑。它不能正常工作,因为其中一个日期被带走了。但我还是想知道“1”代表什么。
  • @a_horse_with_no_name 使用 phpmyadmin
  • @Brian : 1 代表结果集的第一列。

标签: mysql sql


【解决方案1】:

这应该有效

SELECT MONTH(CaseTime) as 'Month', 
       COUNT(Case_ID) as 'Num' 
FROM `Case`
GROUP BY MONTH(CaseTime) 
ORDER BY 1 DESC LIMIT 6

注意:YEAR 可能需要一个 where 子句

SELECT MONTH(CaseTime) as 'Month', 
       COUNT(Case_ID) as 'Num' 
FROM `Case`
WHERE YEAR(CaseTime) = YEAR(CURDATE())
GROUP BY MONTH(CaseTime) 
ORDER BY 1 DESC LIMIT 6

【讨论】:

  • 我需要它从最近的日期到六个月前的值。我不想硬编码这个值。
猜你喜欢
  • 2020-03-14
  • 2016-08-15
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多