gpt4 book ai didi

mysql - 根据列值显示替代结果

转载 作者:可可西里 更新时间:2023-11-01 07:39:06 25 4
gpt4 key购买 nike

我有一个包含以下数据的表格

id      name            gender(Enum : Male,Female)
1 John Doe Male
2 Panther Jow Male
3 Faran Aktar Female
4 Rohan Fusi Male
5 Soham Das Female
6 Rohit Dutta Female
7 Sozi Petacus Male
8 Tuhin Dtui Male

我想要一个 SQL 查询,其中结果应该连续查看一男一女,然后再一男一女。如果在男性或女性结果之后,如果无法获得下一个女性或男性数据,那么所有结果都会显示。像这样

   id      name            gender(Enum : Male,Female)
1 John Doe Male
3 Faran Aktar Female
2 Panther Jow Male
5 Soham Das Female
4 Rohan Fusi Male
6 Rohit Dutta Female
7 Sozi Petacus Male
8 Tuhin Dtui Male

最佳答案

你可以试试这个:

SELECT rnk, name ,gender
FROM (
SELECT STRAIGHT_JOIN id, name, @y:=IF(@gender=gender,@y+1,1) AS rnk, @gender:=gender AS gender
FROM (SELECT @gender:=NULL) AS x
JOIN test
ORDER BY gender, name DESC
) AS t
ORDER BY rnk ASC, gender DESC;

FIDDLE DEMO

关于mysql - 根据列值显示替代结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33820137/

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