从表see here中,如何为分数为10或更高的用户选择和显示名称和数据,但仅显示分数为<的用户的名称。 10,之间没有使用php?
我知道我可以在php(我这样做)中做到这一点,但有没有一种纯粹的mysql方法可以做到这一点?
Php way
if($score >=10) {echo $name $data} else {echo $name}
答案 0 :(得分:2)
您可以使用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 ║ ║ ║
╚════════╩═══════╩══════════════════╝