SQL查询:获取最后一行取决于字段

时间:2013-08-18 13:59:27

标签: mysql sql

我现在遇到了一个新问题。它的全部内容都是在我的数据库中显示结果。

方案: 我试图在我的数据库[fldBldgName and fldTotalDuration]中显示最后一个数据。所以,假设我在fldBldgName和fldTotalDuration下有两个数据。

示例:

fldBldgName       fldTotalDuration
bldg1                0:2
bldg1                0:32
bldg1                0:40
bldg1                0:45
bldg2                0:10    
bldg2                0:12

正如您所看到的,fldBldgName具有相同的建筑物名称,但fldTotalDuration不同......

我在显示它时遇到问题,因为在我的查询中结果是

fldBldgName        fldTotalDuration
bldg1                  0:2    
bldg2                  0:10

这是错误的......

正确的是

fldBldgName        fldTotalDuration
bldg1                  0:45
bldg2                  0:12

这是我的疑问:

SELECT * FROM tbldata WHERE fldNetname = '".$get_radio."' 
    AND fldMonth = '".$get_month."' AND fldWeek = '".$get_week. "' 
    GROUP BY fldBldgName 
    ORDER BY id, fldBldgName, fldTotalDuration DESC

即使是ASC也无法工作....如果我包含一个“DESC LIMIT 1”,它只会显示一个....我需要显示,所有唯一的fldBldgName和fldTotalDuration的相应/最后一行..

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试此查询:

mysql_query("
    SELECT fldBldgName, MAX(fldTotalDuration) as fldTotalDuration FROM tbldata 
    WHERE fldNetname = '".$get_radio."' 
       AND fldMonth = '".$get_month."' 
       AND fldWeek = '".$get_week. "' 
    GROUP BY fldBldgName 
    ORDER BY id, fldBldgName, fldTotalDuration DESC");