开发者

how to use the order by and aggregate function together in sql query

开发者 https://www.devze.com 2022-12-30 12:04 出处:网络
SELECT count(distinct req.requirementid), req.requirementid, org.organizationid, req.locationofposting, org.registereddate
SELECT
    count(distinct req.requirementid),
    req.requirementid,
    org.organizationid,
    req.locationofposting,
    org.registereddate
FROM OrganizationRegisteredDetails AS org,
    RequirementsDetailsforOrganization AS req
WHERE org.organizationid = req.requirementid
ORDER BY
    org.RegisteredDate desc

this shows me the error :

Column 'RequirementsDetailsforOrganization.RequirementID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

how 开发者_如何学运维to do the 'order by org.RegisteredDate desc' in this Query ....

pls help me out.....??????


You need to add all columns referenced in the SELECT list or in the ORDER BY into a GROUP BY clause.

SELECT 
    count(distinct req.requirementid), 
    req.requirementid, 
    org.organizationid, 
    req.locationofposting, 
    org.registereddate 
FROM OrganizationRegisteredDetails AS org, 
    RequirementsDetailsforOrganization AS req 
WHERE org.organizationid = req.requirementid 
GROUP BY
    req.requirementid, 
    org.organizationid, 
    req.locationofposting, 
    org.registereddate 
ORDER BY 
    org.RegisteredDate desc 

Although in this case, you'll only get the value 1 in the first column in all rows since you're grouping on req.requirementid!


Error is there because as per th rule when your using aggregate function with group by clause you have to include the columns which are in your select list

following may help you to achieve functionality you want

   (select count(distinct requirementid),requirementid,
     from 
    RequirementsDetailsforOrganization
    group by requirementid) d

    inner join 

    (   SELECT req.requirementid, org.organizationid,

req.locationofposting,org.registereddate FROM OrganizationRegisteredDetails AS org, 

RequirementsDetailsforOrganization AS req WHERE org.organizationid =req.requirementid order by org.RegisteredDate desc) d1
   on 
    d.requirementid= d1.requirementid
0

精彩评论

暂无评论...
验证码 换一张
取 消