无法以正确的顺序显示mysqli数据库结果

时间:2016-11-10 12:59:17

标签: php mysql sql

我的数据库中有一个表,用于存储事件及其过期日期。我想要做的是在我的网站上显示所有事件,但先显示当前事件,然后显示过期后的事件?

我尝试了以下sql

npm --version

但由于expiryDate在我的查询中被命令为ASC,因此首先返回过期结果。

我的tbl_notice结构看起来像这样

3.10.6

我的PHP代码是

$sql = "SELECT noticeID, notice, noticeDesc, noticeIMG, noticeDate,
expiryDate FROM tbl_notices GROUP BY noticeID ,expired ORDER BY
expiryDate ASC";

但是就像我说的那样,首先返回过期的记录,因为对于Ascending排序的expiryDate将是第一个,我将如何将过期的记录推送到最后?

如此有效地排序并显示所有当前通知,然后排序并显示过期通知。

希望这是有道理的 任何帮助表示赞赏

非常感谢 路加

1 个答案:

答案 0 :(得分:2)

使用此形式的查询:

$sql = "SELECT noticeID, notice, noticeDesc, noticeIMG, noticeDate, expiryDate
FROM tbl_notices ORDER BY expired, expiryDate ASC";

原始查询中的GROUP BY过多。