5

次のようなテーブルがあります。

id  date_time
1   2/11/2013 7:05
2   2/11/2013 7:00
3   2/12/2013 7:00
4   2/14/2013 7:00
5   2/16/2013 7:00
6   2/17/2013 7:00
7   2/12/2013 7:05
8   2/14/2013 7:05
9   2/15/2013 7:05
10  2/16/2013 7:05
11  2/17/2013 7:05
12  2/13/2013 7:00
13  2/15/2013 7:00
14  2/13/2013 7:05

HOUR:MINUTE でソートし、DATE でソートする必要があるため、出力で次のようなものが得られます。

2/11/2013 7:00
2/12/2013 7:00
2/13/2013 7:00
2/14/2013 7:00
2/15/2013 7:00
2/16/2013 7:00
2/17/2013 7:00
2/11/2013 7:05
2/12/2013 7:05
2/13/2013 7:05
2/14/2013 7:05
2/15/2013 7:05
2/16/2013 7:05
2/17/2013 7:05

出力を MySQL で直接ソートする方法はありますか?... クエリの結果を取得したら、PHP を介してそれを実行することを知っていますが、MySQL でそのようなことができるかどうか疑問に思っていますか?

次のようなクエリを試しました。

SELECT * FROM my_table WHERE (date_time BETWEEN '$date_check_low' AND '$date_check_high') ORDER BY hour(date_time) ASC

しかし、それは奇妙な結果をもたらします...

4

2 に答える 2

5
ORDER BY HOUR(date_time), MINUTE(date_time), date_time

また

ORDER BY TIME(date_time), date_time
于 2013-02-10T11:42:16.897 に答える
0

これを試して:

SELECT *
FROM my_table
WHERE (date_time BETWEEN '$date_check_low' AND '$date_check_high')
ORDER BY time(date_time),
         date_time;
于 2013-02-10T11:42:17.757 に答える