0

ここの表から、スコアが 10 以上のユーザーの名前とデータを選択して表示する方法と、間に php を使用せずにスコアが 10 未満のユーザーの名前のみを表示するにはどうすればよいですか?

私はphpでこれを行うことができることを知っています(そして私はそうします)が、それを行う純粋なmysqlの方法はありますか?

Phpの方法

if($score >=10) {echo $name $data} else {echo $name}
4

1 に答える 1

2

IFまたはを使用してクエリを介して直接行うことができますCASECASEは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 ║       ║                  ║
╚════════╩═══════╩══════════════════╝
于 2013-05-25T16:34:58.153 に答える