jsadove
03-11-02, 12:51
| I posted an earlier thread on the Sybase Spurious Group By. It looks like either a) no one really knows what to do with this; b) everyone's keeping quiet. From setting up tests, my conclusion is that the query selects every row in the table and returns the max(it_prod_db.dbo.APP_RISK_YW.RISKLVL_ID) for the unique rows as per the group by clause. Maybe there is someone out there who really knows or can confirm my guess? (This is an embarassment for Sybase; and maybe they have corrected this in 12.0?) SELECT it_prod_db.dbo.APP_RISK_YW.S_YEAR, it_prod_db.dbo.APP_RISK_YW.S_MONTH, 0, it_prod_db.dbo.APP_RISK_YW.APPSYS_NAME, it_prod_db.dbo.APP_RISK_YW.APSS_NAME, it_prod_db.dbo.APP_RISK_YW.CLS_NAME, it_prod_db.dbo.APP_RISK_YW.OBJ_NAME, it_prod_db.dbo.APP_RISK_YW.MO_NAME, it_prod_db.dbo.APP_RISK_YW.RISKLVL_ID, it_prod_db.dbo.APP_RISK_YW.RISK_WEIGHT, it_prod_db.dbo.APP_RISK_YW.CAT_NAME, it_prod_db.dbo.APP_RISK_YW.THRESHOP_NAME, it_prod_db.dbo.APP_RISK_YW.THRESHOLD_VAL, it_prod_db.dbo.APP_RISK_YW.UNIT_NAME, it_prod_db.dbo.APP_RISK_YW.USED_PCT, max(it_prod_db.dbo.APP_RISK_YW.RISKLVL_ID), it_prod_db.dbo.APP_RISK_YW.S_WEEK FROM it_prod_db.dbo.APP_RISK_YW GROUP BY it_prod_db.dbo.APP_RISK_YW.S_YEAR, it_prod_db.dbo.APP_RISK_YW.S_MONTH, it_prod_db.dbo.APP_RISK_YW.S_WEEK, it_prod_db.dbo.APP_RISK_YW.APPSYS_NAME, it_prod_db.dbo.APP_RISK_YW.APSS_NAME, it_prod_db.dbo.APP_RISK_YW.CLS_NAME, it_prod_db.dbo.APP_RISK_YW.OBJ_NAME ORDER BY it_prod_db.dbo.APP_RISK_YW.S_YEAR ASC, it_prod_db.dbo.APP_RISK_YW.S_MONTH ASC, it_prod_db.dbo.APP_RISK_YW.S_WEEK ASC, it_prod_db.dbo.APP_RISK_YW.APPSYS_NAME ASC, it_prod_db.dbo.APP_RISK_YW.APSS_NAME ASC, it_prod_db.dbo.APP_RISK_YW.CLS_NAME ASC, it_prod_db.dbo.APP_RISK_YW.OBJ_NAME ASC, it_prod_db.dbo.APP_RISK_YW.MO_NAME ASC |