Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 按计数排序不正确-SQL(MS Access 2007)_Sql Server 2008_Ms Access 2007 - Fatal编程技术网

Sql server 2008 按计数排序不正确-SQL(MS Access 2007)

Sql server 2008 按计数排序不正确-SQL(MS Access 2007),sql-server-2008,ms-access-2007,Sql Server 2008,Ms Access 2007,概述: 比较不同账户代理农产品的日常交易,找出代理和公司持有量之间的差异,仅显示新情况;当前交易中的代码,但不是以前交易中的代码 目标: 按最高频率的代码(即苹果)对交易进行排序 当前表格: -------------------------------------------------------------------------------------------------------------- | DATE | ACCT_CODE | TYPE | TYPE_DES

概述: 比较不同账户代理农产品的日常交易,找出代理和公司持有量之间的差异,仅显示新情况;当前交易中的代码,但不是以前交易中的代码

目标: 按最高频率的代码(即苹果)对交易进行排序

当前表格:

--------------------------------------------------------------------------------------------------------------
|        DATE | ACCT_CODE | TYPE | TYPE_DESCRIPTION |    CODE | DIFFERENCE | AGENT_HOLDING | COMPANY_HOLDING |
--------------------------------------------------------------------------------------------------------------
| 02 Aug 2012 | acc107101 | prod |          produce |   apple |      -1500 |             0 |            1500 |
| 02 Aug 2012 | acc107101 | prod |          produce |   apple |       1500 |          2000 |             500 |
| 02 Aug 2012 | acc107101 | prod |          produce |   apple |          0 |             0 |               0 |
| 02 Aug 2012 | acc107101 | prod |          produce |   apple |          0 |         49797 |           49797 |
| 02 Aug 2012 | acc170000 | prod |          produce |  grapes |       2500 |          2500 |               0 |
| 02 Aug 2012 | acc170000 | prod |          produce |  grapes |      -1500 |             0 |            1500 |
| 02 Aug 2012 | acc008221 | caus |             cash |    cash |          0 |             0 |               0 |
| 02 Aug 2012 | acc008221 | caus |             cash | carrots |          0 |         43273 |           43274 |
| 01 Aug 2012 | acc008221 | caus |             cash |    cash |          0 |             0 |               0 |
| 01 Aug 2012 | acc008221 | caus |             cash | carrots |          0 |         43273 |           43274 |
| 02 Aug 2012 | acc179185 | prod |          produce |   mango |        125 |          2775 |            2650 |
| 02 Aug 2012 | acc179185 | prod |          produce |   mango |     -57646 |        453639 |          511286 |
| 02 Aug 2012 | acc636903 | prod |          produce |   mango |          0 |        481081 |          481081 |
| 02 Aug 2012 | acc001049 | prod |          produce |   mango |       2500 |          2500 |               0 |
| 02 Aug 2012 | acc001189 | prod |          produce |   apple |      -1091 |             0 |            1091 |
--------------------------------------------------------------------------------------------------------------
代码:

问题:
如何修复使用正确的频率顺序(苹果、芒果、葡萄)?

我认为问题在于您的分组过于精细

在这种情况下,从
GROUP BY
子句中排除三个金额列(
AgentHolding
CompanyHolding
Difference
),并在输出中聚合它们(
sum

以下是这一变化将产生的效果的示例:


注意:我省略了
left join
PrevTrade
表,因为我不知道它的结构和数据,但希望这能说明我的意图。

Awesome..谢谢!这是更清洁和工作。由于查询会动态比较2个表/2个日期,所以我添加了左连接。
SELECT 
    Count(CurrentTrade.Code) AS CountOfCode, 
    CurrentTrade.date, 
    CurrentTrade.Acct_Code, 
    CurrentTrade.Type, 
    CurrentTrade.Code, 
    CurrentTrade.Agent_Holding, 
    CurrentTrade.Company_Holding, 
    CurrentTrade.Difference
FROM CurrentTrade 
LEFT JOIN PrevTrade 
    ON CurrentTrade.Company_Holding=PrevTrade.Company_Holding
WHERE (((PrevTrade.Company_Holding) Is Null) AND ((CurrentTrade.Code)<>'cash'))
GROUP BY 
    CurrentTrade.Code,CurrentTrade.date, 
    CurrentTrade.Acct_Code, 
    CurrentTrade.Type, 
    CurrentTrade.Agent_Holding, 
    CurrentTrade.Company_Holding, 
    CurrentTrade.Difference
ORDER BY count(CurrentTrade.Code) ASC;
---------------------------------------------
| COUNTOFCODE |        DATE | TYPE |   CODE |
---------------------------------------------
|           1 | 02 Aug 2012 | prod | grapes |
|           1 | 02 Aug 2012 | prod | grapes |
|           1 | 02 Aug 2012 | prod |  apple |
|           1 | 02 Aug 2012 | prod |  apple |
|           1 | 02 Aug 2012 | prod |  apple |
|           1 | 02 Aug 2012 | prod |  apple |
|           1 | 02 Aug 2012 | prod |  apple |
|           1 | 02 Aug 2012 | prod |  mango |
|           1 | 02 Aug 2012 | prod |  mango |
|           1 | 02 Aug 2012 | prod |  mango |
|           1 | 02 Aug 2012 | prod |  mango |
---------------------------------------------