简体   繁体   English

如何按SQL查询排序和分组?

[英]How to sort & group by sql query?

I have Data 我有资料

id Date      CatId  itemid itemname price
1  10/5/2019  1         1      ABC        20
2  10/5/2019  1         2      XYZ        30
3  10/5/2019  2         1      ABC        20
4  10/5/2019  3         1      ABC        20  

5  11/5/2019  1         2      XYZ        30
6  11/5/2019  2         1      ABC        20
7  11/5/2019  2         3      PQR        40

8  12/5/2019  3         1      ABC        20
9  12/5/2019  3         2      XYZ        30 
10  12/5/2019  1         2      XYZ        30
11  12/5/2019  2         1      ABC        20

expected result data 预期结果数据

date            CatId   toal 
 10/5/2019      1           50
 10/5/2019      2           20
 10/5/2019      3           20

  11/5/2019     1       30
  11/5/2019     2       60
  12/5/2019     1       30
  12/5/2019     2       20
  12/5/2019     3       50

I want result order by date and after sum of price group by catid, 我想要按日期排列结果顺序,然后按价格分组计算价格总和,

I have tried multiple query applied but get exact solution. 我已尝试应用多个查询,但获得了确切的解决方案。 I have spent so much time. 我花了很多时间。

I have tried bellow queries 我已经尝试过以下查询

SELECT * FROM (SELECT * FROM `table`  ORDER BY `date` DESC) as tbl
 GROUP BY tbl.`catid`

SELECT *
FROM `table` 
GROUP BY `date` ORDER BY `date` DESC

SELECT * 
FROM (
    SELECT * FROM `table`  
    ORDER BY `date` DESC
) AS sub
GROUP BY `catid` ORDER BY `date` DESC

the columns you can use in order by and group by can be different 您可以使用的排序依据和分组依据的列可以不同

You could use group by and sum directly 您可以使用分组依据并直接求和

select date, catid, sum(price)
from my_table 
group by date, catid
order by date, sum(price), catid

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM