显示出现次数最多的组

三木

t_table 好像:

+-----------+---------+--------------+------------------+-----------------------+----------------------------------+
| pk_IdLoan | fk_IdCar| fk_IdCustomer| fk_Source_Agency | fk_Destination_Agency | RentalDate | DeliveryDate | Cost |
+-----------+---------+--------------+------------------+-----------------------+----------------------------------+

我写了一个查询:

(SELECT fk_IdCustomer, MONTHNAME(RentalDate) AS Month, YEAR(RentalDate) As Year, COUNT(*)
FROM t_loan
GROUP BY fk_IdCustomer, Month, Year);

这导致

+---------------+-------------+------+----------+
| fk_IdCustomer | Month       | Year | COUNT(*) |
+---------------+-------------+------+----------+
| 1             | July        | 2016 | 3        |
| 1             | November    | 2017 | 1        |
| 1             | September   | 2016 | 7        |
| 5             | May         | 2016 | 1        |
| 6             | January     | 2016 | 1        |
| 6             | September   | 2017 | 2        |
+---------------+-------------+------+----------+

现在我想为每个客户获得这些月份和年份,从而获得最高的COUNT(*)fe:

+---------------+-------------+------+----------+
| fk_IdCustomer | Month       | Year | COUNT(*) |
+---------------+-------------+------+----------+
| 1             | September   | 2016 | 7        |
| 5             | May         | 2016 | 1        |
| 6             | September   | 2017 | 2        |
+---------------+-------------+------+----------+

如何实现这一目标?

戈登·利诺夫

这在 MySQL 中有点痛苦,它不支持 CTE 或窗口函数。一种方法是:

SELECT fk_IdCustomer, MONTHNAME(RentalDate) AS Month,
       YEAR(RentalDate) As Year, COUNT(*) as cnt
FROM t_loan l
GROUP BY fk_IdCustomer, Month, Year
HAVING cnt = (SELECT COUNT(*)
              FROM t_loan l2
              WHERE l2.fk_IdCustomer = l.fk_IdCustomer
              GROUP BY MONTHNAME(RentalDate), YEAR(RentalDate)
              ORDER BY COUNT(*) DESC
              LIMIT 1
             );

注意:如果有重复,您将获得所有匹配的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算循环中每个字母的出现次数,并显示出现次数最多的字母

来自分类Dev

如何在数据框的列中显示出现次数最多的行?

来自分类Dev

尝试建立一个SQL SELECT查询以显示出现次数最多的用户

来自分类Dev

元素出现次数最多的列表

来自分类Dev

打印出现次数最多的素数

来自分类Dev

Linq 分组依据并选择子组中出现次数最多的项目

来自分类Dev

试图获得句子中出现次数最多的情态动词

来自分类Dev

查找数组中出现次数最多的相同数字

来自分类Dev

C#:获取列表中出现次数最多的元素?

来自分类Dev

查找数组中出现次数最多的数字

来自分类Dev

如何找到出现次数最多的字母?C ++

来自分类Dev

如何找到在python词典中出现次数最多的值?

来自分类Dev

如何获得集合中出现次数最多的值?

来自分类Dev

查找数组中出现次数最多的相同数字

来自分类Dev

搜索出现次数最多的字符串

来自分类Dev

选择出现次数最多的单词跨多列

来自分类Dev

在“球拍”列表中查找出现次数最多的元素

来自分类Dev

在Mongodb字段中找到出现次数最多的单词

来自分类Dev

给定字符串中出现次数最多的词

来自分类Dev

如何增加显示元素的数量以报告观看次数最多

来自分类Dev

如何显示观看次数最多的前10名?

来自分类Dev

显示过去 30 天内播放次数最多的歌曲

来自分类Dev

javascript计算元音,辅音并显示出现次数

来自分类Dev

标记中显示出现次数的AngularJS计数

来自分类Dev

如何仅显示出现次数第二高的值?

来自分类Dev

SQL查询以查找不嵌套的表中出现次数最多的值

来自分类Dev

您如何找到MongoDB词典中出现次数最多的字段?

来自分类Dev

查找哪个字符出现在字符串中的次数最多

来自分类Dev

使用SQL搜索字符串中出现次数最多的值

Related 相关文章

  1. 1

    计算循环中每个字母的出现次数,并显示出现次数最多的字母

  2. 2

    如何在数据框的列中显示出现次数最多的行?

  3. 3

    尝试建立一个SQL SELECT查询以显示出现次数最多的用户

  4. 4

    元素出现次数最多的列表

  5. 5

    打印出现次数最多的素数

  6. 6

    Linq 分组依据并选择子组中出现次数最多的项目

  7. 7

    试图获得句子中出现次数最多的情态动词

  8. 8

    查找数组中出现次数最多的相同数字

  9. 9

    C#:获取列表中出现次数最多的元素?

  10. 10

    查找数组中出现次数最多的数字

  11. 11

    如何找到出现次数最多的字母?C ++

  12. 12

    如何找到在python词典中出现次数最多的值?

  13. 13

    如何获得集合中出现次数最多的值?

  14. 14

    查找数组中出现次数最多的相同数字

  15. 15

    搜索出现次数最多的字符串

  16. 16

    选择出现次数最多的单词跨多列

  17. 17

    在“球拍”列表中查找出现次数最多的元素

  18. 18

    在Mongodb字段中找到出现次数最多的单词

  19. 19

    给定字符串中出现次数最多的词

  20. 20

    如何增加显示元素的数量以报告观看次数最多

  21. 21

    如何显示观看次数最多的前10名?

  22. 22

    显示过去 30 天内播放次数最多的歌曲

  23. 23

    javascript计算元音,辅音并显示出现次数

  24. 24

    标记中显示出现次数的AngularJS计数

  25. 25

    如何仅显示出现次数第二高的值?

  26. 26

    SQL查询以查找不嵌套的表中出现次数最多的值

  27. 27

    您如何找到MongoDB词典中出现次数最多的字段?

  28. 28

    查找哪个字符出现在字符串中的次数最多

  29. 29

    使用SQL搜索字符串中出现次数最多的值

热门标签

归档