回答編集履歴

1

ORDER BY不足。

2017/07/25 15:46

投稿

tomari_perform
tomari_perform

スコア760

test CHANGED
@@ -17,6 +17,50 @@
17
17
 
18
18
 
19
19
  ```SQL
20
+
21
+ SELECT 0 as time_sort
22
+
23
+ , T1.id
24
+
25
+ , T1.time
26
+
27
+ , DATE_FORMAT( NOW(), '%H:%i' ) as nwo_time
28
+
29
+ FROM Timer T1
30
+
31
+ -- WHERE CAST( DATE_FORMAT( NOW(), '%H%i' ) as SIGNED ) <= CAST( DATE_FORMAT( T1.time, '%H%i' ) as SIGNED )
32
+
33
+ WHERE CAST( '2330' as SIGNED ) <= CAST( DATE_FORMAT( T1.time, '%H%i' ) as SIGNED )
34
+
35
+ ;
36
+
37
+
38
+
39
+ create TABLE `Timer` (
40
+
41
+ `id` int(11) NOT NULL AUTO_INCREMENT,
42
+
43
+ `time` time NOT NULL,
44
+
45
+ PRIMARY KEY (`id`)
46
+
47
+ );
48
+
49
+ insert into Timer
50
+
51
+ values
52
+
53
+ (1,'20:00')
54
+
55
+ ,(2,'21:00')
56
+
57
+ ,(3,'0:00')
58
+
59
+ ,(4,'1:00')
60
+
61
+ ;
62
+
63
+
20
64
 
21
65
  SELECT V0.id
22
66
 
@@ -42,7 +86,7 @@
42
86
 
43
87
  -- WHERE CAST( DATE_FORMAT( NOW(), '%H%i' ) as SIGNED ) <= CAST( DATE_FORMAT( T1.time, '%H%i' ) as SIGNED )
44
88
 
45
- WHERE CAST( '2330' as SIGNED ) <= CAST( DATE_FORMAT( T1.time, '%H%i' ) as SIGNED )
89
+ WHERE CAST( '1000' as SIGNED ) <= CAST( DATE_FORMAT( T1.time, '%H%i' ) as SIGNED )
46
90
 
47
91
  ORDER BY T1.time
48
92
 
@@ -72,7 +116,9 @@
72
116
 
73
117
  ) V0
74
118
 
75
- ORDER BY V0.time
119
+ ORDER BY V0.time_sort
120
+
121
+ , V0.time
76
122
 
77
123
  LIMIT 1
78
124