获得最长的层次结构

时间:2010-12-26 09:59:26

标签: php sql mysql

在DataBase中我存储了一些信息(在Attached ScreenShot中表示)
alt text

获得最长层次结构ID的最佳方法是什么? 在附加图片中,最长的层次结构是128,因为它在其字段中具有最少数量的0值(t_definition_types_id_(1-4))

谢谢

2 个答案:

答案 0 :(得分:2)

另一种方式是:

SELECT id,
 (IF(t_definition_types_id_1>0, 1, 0) + 
  IF(t_definition_types_id_2>0, 1, 0) +
  IF(t_definition_types_id_3>0, 1, 0) +
  IF(t_definition_types_id_4>0, 1, 0) 
) 
AS level 
FROM mytable ORDER BY level DESC

答案 1 :(得分:1)

试试这个:

SELECT id
FROM myTable 
ORDER BY 
    t_definition_types_id_4 DESC, 
    t_definition_types_id_3 DESC, 
    t_definition_types_id_2 DESC, 
    t_definition_types_id_1 DESC
LIMIT 1;

这个问题有点模糊,但我认为这就是你想要做的事情。如我错了请纠正我。