ここの表から、スコアが 10 以上のユーザーの名前とデータを選択して表示する方法と、間に php を使用せずにスコアが 10 未満のユーザーの名前のみを表示するにはどうすればよいですか?
私はphpでこれを行うことができることを知っています(そして私はそうします)が、それを行う純粋なmysqlの方法はありますか?
Phpの方法
if($score >=10) {echo $name $data} else {echo $name}
IF
またはを使用してクエリを介して直接行うことができますCASE
(CASEはRDBMSに適しています)
SELECT Name,
IF(score < 10, '', score) score,
IF(score < 10, '', data) data
FROM json
出力
╔════════╦═══════╦══════════════════╗
║ NAME ║ SCORE ║ DATA ║
╠════════╬═══════╬══════════════════╣
║ Peter ║ 50 ║ Peter's Foo data ║
║ James ║ 10 ║ James's Foo data ║
║ John ║ ║ ║
║ Andrew ║ ║ ║
╚════════╩═══════╩══════════════════╝