0

从表中看到这里如何为得分为 10 或更高的用户选择和显示名称和数据,但仅显示得分 < 10 的用户的名称,而不使用 php?

我知道我可以在 php 中做到这一点(我确实做到了),但是有没有一种纯粹的 mysql 方法来做到这一点?

php方式

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

1 回答 1

2

您可以使用IFor直接通过查询来完成它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 回答