簡體   English   中英

從按條件分組的表中檢索所有行

[英]retrieve all rows from the table grouped by condition

我有以下mysql表:

products

帶有文件:

id, product_group_id, internal_product_id, version, platform_id, name

1   12                12                   1        30           Megacalculator              
2   12                12                   2        30           Megacalculator            
3   16                17                   1        30           Calculator                    
4   16                17                   2        30           Calculator
5   16                18                   0.1      40           Calculator Linux
6   20                19                   2.1      30           Converter Windows
7   20                20                   2.1      40           Converter Linux
8   30                24                   0.1      30           Editor

我需要從該表中檢索所有按“ product_group_id”分組的行,但該組內部具有不同的“ internal_product_id”。 此外,每組中的行數必須等於某個特殊數字(該值必須作為外部參數提供給查詢)

例如:

外部參數= 2,結果:

product_group_id    
16                  
20                  

外部參數= 1,結果:

product_group_id    
12                  
30                  

請幫我這個SQL查詢。

試試看:

對於參數= 2

    select `product_group_id` from products
    group by `product_group_id`
    having count(distinct `internal_product_id`) = 2

對於參數= 1

    select `product_group_id` from products 
    group by `product_group_id`
    having count(distinct `internal_product_id`) = 1

此處演示

你可以這樣做:

select product_group_id from products 
group by product_group_id;
having count(internal_product_id) = 2; 

或者您可以在表中獲取信息:

select product_group_id, count(internal_product_id) from products 
group by product_group_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM