如何根据mysql中另一行的值选择或不选择行

时间:2013-11-15 09:50:23

标签: mysql

+----------+------------+
| name     | code       |
+----------+------------+
| Fluffy   | 000        |
| Claws    | 217        |
| Buffy    | 598        |
| Fang     | 000        |
| Bowser   | 687        |
| Chirpy   | 587        |
| Whistler | 258        |
| Slim     | 298        |
| Fluffy   | 168        |
+----------+------------+

这是我的问题...在上表中,“代码”列的默认值是000.在“名称”列中,Fluffy有2个代码,其中一个是默认值000&另一个168选择时,如果蓬松的东西不是默认代码,我选择那个&其他行留下一行默认为Fluffy.Any方式用mysql IF或其他任何方式吗?希望我的问题很明确。

3 个答案:

答案 0 :(得分:0)

使用max()获取最高代码。如果只有000,则会返回。

select name, max(code) as code
from your_table
group by name

答案 1 :(得分:0)

SELECT name,MAX(code) FROM myTABLE GROUP BY name

这将选择该人的最高代码,假设您的所有其他代码都是正数。

答案 2 :(得分:0)

你可以简单地使用MAX(代码):

SELECT name, MAX(code)
FROM yourTable
GROUP BY name