Jay*_*Jay 0 sql t-sql sql-server-2008 greatest-n-per-group
我有一个包含以下列的数据库
SKU | designID | designColor | width | height | price | etc.
Run Code Online (Sandbox Code Playgroud)
SKU
数字是唯一的并且designID
重复.
基本上,我想要DISTINCT
或者设计GROUP BY
ID并获得行的其余部分的值,即使它们没有重复.
例:
123 | A-1 | RED | 2 | 3 | $200 | etc.
135 | A-2 | BLU | 8 | 4 | $150 | etc.
Run Code Online (Sandbox Code Playgroud)
毕竟,我应该可以通过任一列对它们进行排序.我已经尝试过GROUP BY
和DISTINCT
,但他们不返回该行的值的其余部分.
例:
SELECT DISTINCT designID
FROM tbl_name
Run Code Online (Sandbox Code Playgroud)
哪个会回归
A-1
A-2
Run Code Online (Sandbox Code Playgroud)
没有其他数据.
GROUP BY
例:
SELECT designID, designColor
FROM tbl_name
GROUP BY designID, designColor
Run Code Online (Sandbox Code Playgroud)
哪个会回归
A-01 | RED
A-02 | BLU
Run Code Online (Sandbox Code Playgroud)
任何想法,所以我可以有所有行值的DISTINCT结果?
提前致谢.
====================================
感谢大家所有的时间和提示,请让我描述更多;
基本上我需要消除重复的designID并只显示其中一个,并且它们中的哪个,第一个,中间或最后一个并不重要.重要的是我展示的必须包含所有行信息,如SKU,价格,大小等.我不知道,也许我应该使用不同的代码而不是DISTINCT或GROUP BY.
这是我想要的数据库.
除非我误解,否则您可以SELECT DISTINCT
在多个栏目中:
SELECT
DISTINCT designID,
designColor,
width,
height,
price
FROM tbl_name
ORDER BY designColor
Run Code Online (Sandbox Code Playgroud)
这将为您提供所有唯一的行.例如,如果您有designID
15个总行中的两个值,designColor
分别有2个和3个不同的值,则这将为您提供5行.
归档时间: |
|
查看次数: |
2382 次 |
最近记录: |