【问题标题】:SQL - Queries with GROUP BY?SQL - 使用 GROUP BY 进行查询?
【发布时间】:2018-05-07 18:18:05
【问题描述】:

我想使用查询来得到这个结果:

Postid(20) ---> 4 type(0) et 2 type(1)
Postid(21) ---> 3 type(0) et 3 type(1).

从此表中:

id | userid | postid | type
1  |   465  |  20    |  0
2  |   465  |  21    |  1
3  |   466  |  20    |  1
4  |   466  |  21    |  0
5  |   467  |  20    |  0
6  |   467  |  21    |  0
7  |   468  |  20    |  1
8  |   468  |  21    |  1
9  |   469  |  20    |  0
10 |   469  |  21    |  1
11 |   470  |  20    |  0
12 |   470  |  21    |  0

我想我必须使用GROUP BY,我尝试过但没有结果。

我怎样才能达到这个结果?

【问题讨论】:

    标签: mysqli pdo


    【解决方案1】:

    您需要在SELECT 部分中使用聚合函数以及要分组的列。 注意:与聚合函数一起选择的任何列都必须出现在 GROUP BY 部分中。

    以下代码应该可以回答您的问题:

    SELECT COUNT(id), postid, type FROM table_name GROUP BY postid, type
    

    当使用多个GROUP BY 列时,具有所有这些列的条目将被分组,请参见此处:https://stackoverflow.com/a/2421441/9743294

    【讨论】:

    • 不客气。请将问题标记为已回答(答案下方的勾号);)
    猜你喜欢
    • 1970-01-01
    • 2017-02-24
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多