从表中看到这里如何为得分为 10 或更高的用户选择和显示名称和数据,但仅显示得分 < 10 的用户的名称,而不使用 php?
我知道我可以在 php 中做到这一点(我确实做到了),但是有没有一种纯粹的 mysql 方法来做到这一点?
php方式
if($score >=10) {echo $name $data} else {echo $name}
您可以使用IF
or直接通过查询来完成它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 ║ ║ ║
╚════════╩═══════╩══════════════════╝