对db中的值进行排序和计数[重复]

Posted

技术标签:

【中文标题】对db中的值进行排序和计数[重复]【英文标题】:sort and count the value in db [duplicate] 【发布时间】:2016-03-03 17:33:08 【问题描述】:

这是我的数据库(销售员)

id     类型        名字     暴民     确认     销售状态

1      退款     耐克             ****      5443     已取消

2      销售                                             ****      5443     好的

3      销售         迈克           ****      5123     好的

4      销售        约翰             ****      5443     好的

5      退款     猫                ****      5443     已取消

6                                                          ****      5443     好的

7      退款                       ****      5123     已取消

我想对每个会员获得多少销售和退款进行排序和计算 我想在表格中得到这样的结果

保证出售                                                  退款 5443       3               2 5123       1               1 请帮忙看看

这是我的代码 mycode

我在运行时遇到了这个错误 mysql_fetch_array() 期望参数 1 是资源,在第 23 行的 C:\wamp\www\SANN\check\affiliateslist.php 中给出的布尔值

【问题讨论】:

【参考方案1】:

您可以使用条件case 表达式来计算相关的销售类型:

SELECT   affid,
         COUNT (CASE type WHEN 'sale' THEN 1 END) AS sale,
         COUNT (CASE type WHEN 'refund' THEN 1 END) AS refund
FROM     salelist
GROUP BY affid

【讨论】:

我得到了这个错误 mysql_fetch_array() 期望参数 1 是资源,布尔值在 C:\wamp\www\SANN\check\affiliateslist.php 第 23 行给出【参考方案2】:
SELECT affid, 
SUM(case when `type` = 'sale' then 1 else 0 end) sale,
SUM(case when `type` = 'refund' then 1 else 0 end) refund
FROM salelist
GROUP BY affid

【讨论】:

以上是关于对db中的值进行排序和计数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

根据重复计数对集合进行区分和排序

按升序对groupby中的浮点值进行排序[重复]

如何按字典中的值对字典列表进行排序? [复制]

对表格进行排序时,Vue v-for循环中的重复键

按键对python中的计数器进行排序

如何在Java中对HashMap进行排序[重复]