假设我有这张桌子
no | date | no1 | no2 | no3 |
------------------------------------------
01 | 1993-05-01 | 0019 | 1124 | 0592 |
02 | 1993-05-02 | 1234 | 4221 | 5543 |
03 | 1993-05-03 | 4321 | 0019 | 0019 |
04 | 1993-05-04 | 0019 | 1112 | 6876 |
什么MySQL查询将返回最重复的数字并按最新日期排序?
答案 0 :(得分:0)
您需要先“压平”您的数据集。您可以通过为每列运行1个查询,然后在具有group by的联合上执行UNION和SELECT来执行此操作。
SELECT date, no, SUM(c) c FROM (
SELECT max(date) date, no1 AS no, count(no1) c FROM table GROUP BY no
UNION
SELECT max(date) date, no2 AS no, count(no1) c FROM table GROUP BY no
UNION
SELECT max(date) date, no3 AS no, count(no1) c FROM table GROUP BY no
) grouped_data GROUP BY no ORDER BY c DESC