私は最近、別の開発者からいくつかの作業を引き継ぎ、特定の sql クエリが特定のタイムスタンプ、より具体的には同じ日付のタイムスタンプで機能しない理由を理解しようとしています。sql クエリは次のとおりです。
select FROM_UNIXTIME(order_time,'%Y.%m.%D') as order_time,
order_time as timealias
from orders
where order.id ='.$user->id.'
group by FROM_UNIXTIME(order_time,'%Y.%m.%D')
order by timealias desc
アイデアは、日付が異なる日にある場合、ユーザーが表示できるように注文が日付ごとにグループ化されるということです。
これはうまくいきます:
03/08/2012, 15:10:30 (Unix Timestamp: 1344006630)
04/08/2012, 12:10:30 (Unix Timestamp: 1344082230)
ただし、それらが同じ日に異なる時間にある場合は、表の最初の順序が表示され、2 番目の順序が表示されます。
03/08/2012, 15:10:30 (Unix Timestamp: 1344006630)
03/08/2012, 17:30:25 (Unix Timestamp: 1344015025)
私の理論では、2 番目のエントリの日付が最初のエントリの日付と一致するものとして認識されませんが、その日付は既に使用されているため、壊れているか、そのような効果があります。しかし、DB が私の長所ではないことを考えると、それは推測です。
このように動作する適切な理由を誰かが知っている場合は、洞察をいただければ幸いです。