回答編集履歴

2

修正

2016/05/06 06:26

投稿

kaputaros
kaputaros

スコア1844

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Oracleならwhere句に`rownum = 1`の条件を追加してあげれば、結果は1レコードのみになります。
8
8
 
9
- MySQLならlimit句をつけてあげれば同様の結果になります。
9
+ MySQLなら`limit句`をつけてあげれば同様の結果になります。
10
10
 
11
11
 
12
12
 

1

追記

2016/05/06 06:26

投稿

kaputaros
kaputaros

スコア1844

test CHANGED
@@ -1,7 +1,33 @@
1
- `lh.created`で降順にソートしてやって、1件目を取ればいいのでは?
1
+ `lh.created`で降順にソート(order by)してやって、1件目を取ればいいのでは?
2
2
 
3
3
 
4
4
 
5
5
  DBによって異なるのですが、
6
6
 
7
- oracleならwhere句に`rownum = 1`の条件を追加してあげれば、結果は1レコードのみになります。
7
+ Oracleならwhere句に`rownum = 1`の条件を追加してあげれば、結果は1レコードのみになります。
8
+
9
+ MySQLならlimit句をつけてあげれば同様の結果になります。
10
+
11
+
12
+
13
+ 参考)
14
+
15
+ ・Oracle ->[先頭から指定件数のレコードを取得する(ROWNUM)](http://oracle.se-free.com/dml/03_rownum.html)
16
+
17
+ ・MySQL ->[取得データの行数を制限](http://www.dbonline.jp/mysql/select/index12.html)
18
+
19
+
20
+
21
+ --追記--
22
+
23
+ すいません、nullがありうることを失念してました。
24
+
25
+ ソートする際はDBによってnullの扱い方が違うので注意が必要です。
26
+
27
+
28
+
29
+ ・Oracle -> nullは「一番**大きな**値」として扱う
30
+
31
+ ・MySQL -> nullは「一番**小さな**値」として扱う
32
+
33
+ だからみなさん、max()してたんですね。