select * from a;
a表
chengji xueke
100 语文
23 数学
89 英语
82 英语
71 数学
21 英语
32 语文
我想得到这样的结果:学科按照 语文 数学 英语循环排列
chengji xueke
100 语文
23 数学
89 英语
32 语文
71 数学
82 英语
21 英语 求sql语句
a表
chengji xueke
100 语文
23 数学
89 英语
82 英语
71 数学
21 英语
32 语文
我想得到这样的结果:学科按照 语文 数学 英语循环排列
chengji xueke
100 语文
23 数学
89 英语
32 语文
71 数学
82 英语
21 英语 求sql语句
增加自增字段ID
SELECT *
FROM (SELECT A.ID, A.chengji, A.xueke, COUNT(B.ID) AS PX1
FROM ttn AS A LEFT JOIN ttn AS B ON (A.ID>=B.ID) AND (A.xueke=B.xueke)
GROUP BY A.ID, A.chengji, A.xueke
ORDER BY COUNT(B.ID)) AS A1 LEFT JOIN PX ON A1.xueke=PX.ZD
ORDER BY PX1, PX;
PX表:
ZD PX
语文 1
数学 2
英语 3
SELECT A.ID, A.chengji, A.xueke, COUNT(B.ID) AS PX1
FROM ttn AS A LEFT JOIN ttn AS B ON (A.ID>=B.ID) AND (A.xueke=B.xueke)
GROUP BY A.ID, A.chengji, A.xueke
ORDER BY COUNT(B.ID)
, IF(A.xueke='语文',1,IF(A.xueke='数学',2,3));