基本上我希望这些部分(下面)按时间顺序分组,然后从最新时间位于列表顶部开始。
ID Parts Time 1 SMH_2010 08:59:18 2 JJK_0101 08:59:26 3 FTD_0002 08:59:24 4 JJK_0102 08:59:27 5 FTD_0001 08:59:22 6 SMH_2010 08:59:20 7 FTD_0003 08:59:25
因此,结果如下:
ID Parts Time 1 JJK_0101 08:59:26 2 JJK_0102 08:59:27 3 FTD_0001 08:59:22 4 FTD_0002 08:59:24 5 FTD_0003 08:59:25 6 SMH_2010 08:59:20 7 SMH_2010 08:59:18
拜托,我将不胜感激。
答案 0 :(得分:0)
你所要求的不是传统意义上的排序。您的第一次尝试按时间排序结果,然后按顺序排序,如果多个时间戳同时发生。
您想要的是既不按部件名称按字母顺序对结果进行排序,也不按时间戳上升/下降对结果进行排序。您要求的内容无法通过SQL中的排序操作来完成。按顺序排列部件不是订购。
答案 1 :(得分:0)
我终于找到了解决方法。不是我理想的解决方案,但是,它的工作越少越好。
我添加了另一个名为max_date
的字段,默认情况下是'now()',因为每个新部件都会插入。
我从正在插入的当前部分创建一个前缀,类似于“SMH_”作为名为$ prefix =“SMH _”的变量;
我有另一个查询直接在插入之后,它再次更新max_date
,'now()',前缀就像$prefix
。
UPDATE parts
SET max_date
= now()WHERE前缀LIKE'%$ prefix%'
为了显示结果,我使用了以下内容:
SELECT * FROM parts
ORDER BY parts.max_date DESC,parts.part ASC