首先,我对MySQL比较陌生,在搜索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表示唯一的商品编号。对于数据库中的每一行,该值都不同。
如果model
和color
相同,则2件衬衫相同。
就像这样,我想打印一个列表(PHP脚本),其中包含数据库中可用项目的所有列,但是(视觉上)相同的项目(相同的model
和{{1 }}只显示一次。输出应该是这样的:
color
我被告知应该在sql查询中使用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
(...)
来完成。
同样,我想要选择所有列,不包括相同Select distinct
和model
的重复列。
请告诉我我的MySQL查询应该是什么样的。
非常感谢!
答案 0 :(得分:2)
您可以简单地使用GROUP BY子句来解决您的问题..因此查询将是
SELECT * FROM table GROUP BY model, color
答案 1 :(得分:1)
我会改为使用group:
SELECT unique_id, model, color, slots FROM table_name GROUP BY model, color