例えば以下のような3カラムでcol_1
とcol_2
それぞれの最大値であるmemberがAであるレコードを取得したいと考えております。
col_1 | col_2 | member |
---|---|---|
2 | 2 | A |
1 | 1 | B |
2 | 1 | C |
1 | 2 | D |
1 | 3 | E |
php
1$sql = "SELECT * FROM test_table WHERE col_1 = (SELECT MAX(col_1) FROM test_table) AND col_2 = (SELECT MAX(ver_minor) FROM test_table)" 2//Warning: PDO::prepare(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '
の様に条件句をANDで2つつなげることができず、構文エラーが発生してしまいます。「複数カラム それぞれ 最大値」の様に検索すると、複数カラムの中での最大値で3をもつEの様なパターンはすぐ出てくるのですが、今回の様にそれぞれの最大値という場合にはどの様にすれば良いのでしょうか?
直感的にどちらかのカラムが優先して先に問い合わせしなくてはいけないのはわかっているのですが、今回の場合
優先はcol_1
でございます。
よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー