2014-03-05 76 views
0

首先,我是比较新的MySQL和我搜索关于SELECT DISTINCTMySQL的 - 选择不同的2列返回所有

我的情况后感到困惑的是以下几点:

我有一个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查询应该是什么样子。

非常感谢!

+0

,如果你失去了它的问题唯一的ID还是你有偏好返回哪个唯一的ID?你可以做一个GROUP BY模型,颜色,这将返回你所需要的。 – Pete

+0

因此确实需要发布一个与MySQL有关的最常见问题列表 – Strawberry

回答

1

我会通过改用组:

SELECT unique_id, model, color, slots FROM table_name GROUP BY model, color 
+0

的确。就这么简单!谢谢 – Sharp

2

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

SELECT * FROM table GROUP BY model, color 
相关问题