前提・実現したいこと
以下のようなSQL文で取得したデータがあります。
SELECT * FROM table WHERE (trait_id = 101413 and type = 2) order by class = 1000 desc, type = 1 desc, id asc
現状の取得データ
id | flag | type | trait_id | class | name |
---|---|---|---|---|---|
4078 | 2 | 2 | 101413 | 1000 | '1571**' |
4086 | 2 | 2 | 101413 | 1000 | '1545**' |
4094 | 2 | 2 | 101413 | 1000 | '1545**' |
4083 | 2 | 2 | 101413 | 1 | '1545**' |
4084 | 2 | 2 | 101413 | 1 | '1545**' |
4080 | 2 | 2 | 101413 | 1014 | '1571**' |
4081 | 2 | 2 | 101413 | 1014 | '1571**' |
これにさらに手を加え、「classが1000のものだけ、取得するカラムを1つに」したい場合、どのような条件を追加すればよいのでしょうか。
欲しい結果
id | flag | type | trait_id | class | name |
---|---|---|---|---|---|
4078 | 2 | 2 | 101413 | 1000 | '1571**' |
4083 | 2 | 2 | 101413 | 1 | '1545**' |
4084 | 2 | 2 | 101413 | 1 | '1545**' |
4080 | 2 | 2 | 101413 | 1014 | '1571**' |
4081 | 2 | 2 | 101413 | 1014 | '1571**' |
取得する1つのカラムについての条件は特にありません。idが小さくても大きくてもどちらでも問題ありません。
試したこと
LIMIT句の追加(エラー)
SELECT * FROM table WHERE (trait_id = 101413 and type = 2 and (class = 1000 ilmit 1)) order by class = 1000 desc, type = 1 desc, id asc
補足
皆さんのお知恵をお借りしたいです。何卒宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー