代码之家  ›  专栏  ›  技术社区  ›  footy

当范围未知时,如何按年/月对输出进行排序

  •  0
  • footy  · 技术社区  · 13 年前

    使用php和mysql查询如何以YEAR-MOUNT格式生成HTML输出。

    我知道我们可以使用 MONTH() 函数,如果我们想按月份显式排序。但我想要一个双年度/月度排序。

    该表有一个ID、DATA和TIME列。我现在可以输出YEAR/MONTH组合,其中有一个循环,从1900到2100进行迭代,并逐月对每个循环中的行进行排序,如果我们找到任何行,则显示这些行。

    但这是一种幼稚的方法,实际上是一种糟糕的方法,因为它不是模块化的。

    如何使用TIME列的数据在HTML中获得按年度排序的输出

    2 回复  |  直到 9 年前
        1
  •  2
  •   newfurniturey    13 年前

    像MySQL一样 MONTH() 函数,还有一个 YEAR() 作用此外,您可以在单个列中对多个列进行排序 SELECT 通过这样做,您将根据 第一 列,然后在每组中进行子排序。

    因此,要进行年/月排序,可以使用以下方法 ORDER BY 条款:

    ORDER BY YEAR(`TIME`), MONTH(`TIME`)
    
        2
  •  2
  •   Adam Plocher    13 年前

    我不太明白为什么你不能只按日期本身排序,但你可以像你说的那样用这个代码按年份和月份排序:

    order by YEAR(dateField), MONTH(dateField)