MySQL-mysql按指定的字段循环查询

发布于 2016-10-21 04:39:23 字数 190 浏览 1504 评论 1

假设数据库中现在有一个字段'a',字段a中存的值基数为3,例如1,2,3 现在查询来的数据想按照字段a中的值循环查询出来。例如
ID A
10 1
15 2
19 3
12 1
90 2
100 3
...
91 1
24 2
22 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2016-11-27 06:28:46

mysql> select * from ab;
+------+------+
| id | a |
+------+------+
| 34 | 1 |
| 43 | 3 |
| 342 | 2 |
| 23 | 3 |
| 343 | 2 |
| 232 | 1 |
| 4 | 2 |
+------+------+
7 rows in set (0.00 sec)

mysql> set @num=0,@vara=0;
Query OK, 0 rows affected (0.00 sec)

mysql> select id,a from
-> (select id,a ,@num:=if(@vara=a, @num+1,1) as row_num,@vara:=a as d
-> from ab order by a) as t
-> order by row_num,a;
+------+------+
| id | a |
+------+------+
| 34 | 1 |
| 342 | 2 |
| 43 | 3 |
| 232 | 1 |
| 343 | 2 |
| 23 | 3 |
| 4 | 2 |
+------+------+
7 rows in set (0.00 sec)

注意: 因为数据有7行,a多出一个2,所以被放在了最后。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文