首页 文章

MySQL - 选择不同的2列并返回全部

提问于
浏览
0

首先,我搜索 SELECT DISTINCT 后感到困惑 SELECT DISTINCT

我的情况如下:

我有一个包含多列和数百行的MySQL表 . 每行代表不同的产品(衬衫) . 它看起来像这样(简化):

unique_id | model | color | slots | (...)
-----------------------------------
0943535   |  100  |  10   | ab
0943546   |  100  |  10   | ab
0943551   |  100  |  23   | ab
0943562   |  103  |  10   | fk
0943567   |  103  |  10   | fk
0943578   |  103  |  17   | fk
0943582   |  169  |  09   | dv
(...)

Unique_id表示唯一的项目编号 . 对于数据库中的每一行,该值都不同 .

如果 modelcolor 都相同,则2件衬衫相同 .

像这样,我想打印一个列表(PHP脚本),其中包含数据库中所有可用项目的列,但是(视觉上)相同的项目(相同的 modelcolor )只显示一次 . 输出应该是这样的:

unique_id | model | color | slots | (...)
-----------------------------------
0943535   |  100  |  10   | ab
0943551   |  100  |  23   | ab
0943567   |  103  |  10   | fk
0943578   |  103  |  17   | fk
0943582   |  169  |  09   | dv
(...)

我被告知这应该在sql查询中使用 Select distinct 来完成 .

同样,我想选择所有列,不包括相同 modelcolor 的重复项 .

请告诉我我的MySQL查询应该是什么样子 .

非常感谢!

2 回答

  • 1

    我会改用group by:

    SELECT unique_id, model, color, slots FROM table_name GROUP BY model, color
    
  • 2

    您可以简单地使用GROUP BY子句来解决您的问题..所以查询将是

    SELECT * FROM table GROUP BY model, color
    

相关问题