gpt4 book ai didi

mysql - 从 mysql 表中选择每隔一行作为男性/女性

转载 作者:行者123 更新时间:2023-11-29 04:52:29 27 4
gpt4 key购买 nike

我有一张表,其中包含性别编码为 0 和 1 的人员。我需要每隔一行选择男性/女性。我以为我可以通过使用模数和性别代码 0 和 1 以某种方式管理它,但我还没有设法弄清楚......

我正在寻找的结果如下所示:

+-----+--------+-------+| row | gender | name  |+-----+--------+-------+|   1 | female | Lisa  ||   2 | male   | Greg  ||   3 | female | Mary  ||   4 | male   | John  ||   5 | female | Jenny |+-----+--------+-------+

等等

另一种方法是通过合并 2 个单独的数组在 PHP 中完成,但我真的很喜欢它作为 SQL 查询...

如有任何建议,我们将不胜感激!

最佳答案

做两个子查询来选择 male 和 female。使用排名功能来枚举它们。

Males:
1 | Peter
2 | John
3 | Chris

Females:
1 | Marry
2 | Christina
3 | Kate

然后多人游戏排名结果乘以 x10,女性加 5。所以你有这个:

Males:
10 | Peter
20 | John
30 | Chris

Females:
15 | Marry
25 | Christina
35 | Kate

然后执行 UNION ALL 并按新排序顺序/新 ID 排序。

加起来应该是这样的(伪代码)

SELECT
Name
FROM
(subquery for Males: RANK() AS sortOrd, Name)
UNION ALL
(subquery for Females: RANK()+1 AS SortOrd, Name)
ORDER BY SortOrd

结果应该是这样的:

Males and Females:
10 | Peter
15 | Marry
20 | John
25 | Christina
30 | Chris
35 | Kate

关于mysql - 从 mysql 表中选择每隔一行作为男性/女性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161852/

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