前 10 行未显示在带有 order by 子句的 sybase 数据库中
Top 10 rows is not showing in sybase db with order by clause
我想显示 sybase 数据库中的前 10 行,我正在使用两个 table 来获取数据,还使用我正在使用但失败的 clause.below 查询的 oder。
select top10 * from (SELECT agent_code,agent_name, SUM(advance_amount) FROM agents ag,orders or WHERE ag.agent_code=or.agent_code GROUP BY agent_code,agent_name ORDER BY SUM(advance_amount));
您不需要子查询。你应该使用 JOIN
和限定的列名:
SELECT TOP 10 ag.agent_code, ag.agent_name, SUM(o.advance_amount)
FROM agents ag JOIN
orders o
ON ag.agent_code = o.agent_code
GROUP BY ag.agent_code, ag.agent_name
ORDER BY SUM(o.advance_amount);
请注意,or
是一个非常糟糕的列名,因为它是 SQL 保留字。
我想显示 sybase 数据库中的前 10 行,我正在使用两个 table 来获取数据,还使用我正在使用但失败的 clause.below 查询的 oder。
select top10 * from (SELECT agent_code,agent_name, SUM(advance_amount) FROM agents ag,orders or WHERE ag.agent_code=or.agent_code GROUP BY agent_code,agent_name ORDER BY SUM(advance_amount));
您不需要子查询。你应该使用 JOIN
和限定的列名:
SELECT TOP 10 ag.agent_code, ag.agent_name, SUM(o.advance_amount)
FROM agents ag JOIN
orders o
ON ag.agent_code = o.agent_code
GROUP BY ag.agent_code, ag.agent_name
ORDER BY SUM(o.advance_amount);
请注意,or
是一个非常糟糕的列名,因为它是 SQL 保留字。