gpt4 book ai didi

mysql - 如何在 MySQL 上对 "intercalary"行进行排序

转载 作者:行者123 更新时间:2023-11-29 12:29:32 25 4
gpt4 key购买 nike

假设我有一张包含产品的表。每个产品都与“性别”相关(女(1)或男(2))

该产品有一个 bool 属性,指示该产品是否处于优惠状态。

解释示例:ID_产品、性别、优惠

1, 2 (male), 0
2, 2 (male), 1
3, 2 (male), 1
4, 1 (female), 1
5, 1 (female), 1
6, 2 (male), 1

我需要得到所有的Offer,但是“插入”(我不知道英语怎么说...呵呵)...一男一女,一男一女一男.. .并且只有优惠。

在此示例中,响应显示为:

2, 2(m), 1
4, 1(f), 1
3, 2(m), 1
5, 1(f), 1
6, 2(m), 1

SELECT * FROM products WHERE offer = 1 ORDER BY ¿what?

我可以这样做吗?

提前非常感谢!

最佳答案

尝试:

SELECT p.*,
IF(`GENDER`='2 (male)',@m:=@m+1,@f:=@f+1) As position
FROM Products p,
(SELECT @m:=0,@f:=0) x
WHERE `OFFER` = 1
ORDER BY position, `GENDER` DESC

演示:http://sqlfiddle.com/#!2/6671ea/4

关于mysql - 如何在 MySQL 上对 "intercalary"行进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com