我有一张桌子

tid iditem quantity
1   k1      2
1   k2      3
1   k3      4
2   k1      1
2   k7      1
2   k3      1
3   k8      1
3   k2      1


在iditem数量> = 3的情况下,如何获得所有tid?
因此,消除了图例k7和k8。
所以我想要一个像这样的输出

tid iditem quantity
    1   k1      2
    1   k2      3
    1   k3      4
    2   k1      1
    2   k3      1
    3   k2      1

    SELECT tid, id_item as item , sum(quantity) as tot FROM `detail`
 group by id_item having sum(quantity) >= 5 ORDER BY tid, sum(jumlah) DESC


但是输出将是这样

tid iditem quantity
1   k1     2
1   k2     3
2   k3     1


什么是获得我想要的输出的正确查询?

最佳答案

您可以使用子查询来执行此操作,以获取所有与条件匹配的ID,然后直接从表中提取:

Select  tid, iditem, quantity
From    YourTable
Where   iditem In
(
    Select  iditem
    From    YourTable
    Group By idItem
    Having Sum(quantity) >= 3
)

关于mysql - sql查询获取所有数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37057556/

10-15 11:01