【发布时间】:2014-03-05 01:30:56
【问题描述】:
首先,我对 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 相同,则两件衬衫相等。
像这样,我想打印一个列表(PHP 脚本),其中包含数据库中可用项目的所有列,但是(视觉上)相同的项目(相同的 model 和 color 的项目)是只显示一次。输出应该是这样的:
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 来完成。
再次,我想选择所有列,不包括相同model 和color 的重复项。
请告诉我我的 MySQL 查询应该是什么样子。
非常感谢!
【问题讨论】:
-
丢失唯一 ID 是否重要,或者您是否偏好返回哪个唯一 ID?你可以做一个 GROUP BY 模型,颜色,这会返回你需要的。
-
SO 确实需要发布与 MySQL 相关的最常见问题列表