好的,我的桌子上有一个名为 style_number 的列。 style_number 可以有重复项。我想选择所有内容,但每个款式编号最多只能选择 3 个。
例如,如果有 4 行的 style_number =“style 7”,则只会选择这 4 行中的 3 行(无论是哪 3 行,还是任意 3 行)。
这有道理吗?
我怎样才能做到这一点?
Thanks!!
注意:我使用的是4.1.22
编辑:
澄清一些混乱。我还需要所有其他列,并且我需要的不仅仅是“样式 7”,否则我可以轻松限制为 3。但是例如,如果我的表是:
款式编号 |价格|石数
"style 7" | 300 | 2
"style 7" | 400 | 3
"style 7" | 500 | 4
"style 7" | 600 | 5
"style 8" | 200| 1
"style 8" | 300 | 2
我会得到这样的结果:
"style 7" | 300 | 2
"style 7" | 400 | 3
"style 7" | 500 | 4
"style 8" | 200| 1
"style 8" | 300 | 2
这更有意义吗?
我不是 MySQL 开发人员,但我认为这会给你你想要的。但对性能没有承诺:)
SELECT
T1.id,
T1.style_number,
T1.col1,
T1.col2,
...
FROM
My_Table T1
WHERE
(
SELECT
COUNT(*)
FROM
My_Table T2
WHERE
T2.style_number = T1.style_number AND
T2.id < T1.id
) < 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)