在我的表(mysql表)中有一个字段"week_year“。此字段包含的数据如下:
WK52_2014
WK51_2014
WK50_2014
WK09_2015
WK08_2015
WK07_2015
WK06_2015
WK05_2015
WK04_2015
WK03_2015
WK02_2015
WK01_2015这里的"WK52_2014“是指2014年的52周。如果我像下面这样查询
$query="SELECT DISTINCT(week_year) AS week_year FROM `table1` order by week_year desc";
$result=mysql_query($query);
while($noticia = mysql_fetch_array($result)) {
echo $noticia['week_year'] . "\n";
}如上所述,它将回显。但对我来说,我希望它在顶部显示当前周(WK09_2015),然后是前一周(wk08_2015),然后是下面提到的WK07_2015。
WK09_2015
WK08_2015
WK07_2015
WK06_2015
WK05_2015
WK04_2015
WK03_2015
WK02_2015
WK01_2015
WK52_2014
WK51_2014
WK50_2014你能帮我吗?我怎么才能继续下去呢?
提前谢谢你,
Br,Mahadeva
发布于 2015-02-23 12:52:35
不要存储这些字符串,而是从日期字段计算它们。下面是关于如何构造字符串的提示,以NOW()为例:
mysql> SELECT CONCAT('WK', RIGHT(CONCAT('0', WEEK(now())), 2), '_', YEAR(now()));
+--------------------------------------------------------------------+
| CONCAT('WK', RIGHT(CONCAT('0', WEEK(now())), 2), '_', YEAR(now())) |
+--------------------------------------------------------------------+
| WK08_2015 |
+--------------------------------------------------------------------+发布于 2015-02-23 12:57:11
您可以使用mySql substring函数按week_year字段的年份部分进行排序,如下所示:
order by SUBSTRING(week_year,6) desc, week_year deschttps://stackoverflow.com/questions/28667030
复制相似问题