当前位置: 首页 > 编程笔记 >

如何在单个MySQL查询中对GROUP BY进行ORDER BY FIELD?

锺离赤岩
2023-03-14
本文向大家介绍如何在单个MySQL查询中对GROUP BY进行ORDER BY FIELD?,包括了如何在单个MySQL查询中对GROUP BY进行ORDER BY FIELD?的使用技巧和注意事项,需要的朋友参考一下

为此,让我们首先创建一个表-

mysql> create table DemoTable
(
   Message text
);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable values('Good');
mysql> insert into DemoTable values('Bye');
mysql> insert into DemoTable values('Awesome');
mysql> insert into DemoTable values('Bye');
mysql> insert into DemoTable values('Good');
mysql> insert into DemoTable values('Amazing');
mysql> insert into DemoTable values('Awesome');
mysql> insert into DemoTable values('Bye');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable;

这将产生以下输出-

+---------+
| Message |
+---------+
| Good    |
| Bye     |
| Awesome |
| Bye     |
| Good    |
| Amazing |
| Awesome |
| Bye     |
+---------+
8 rows in set (0.00 sec)

以下是在单个MySQL查询中使用GROUP BY对ORDER BY FIELD的查询-

mysql> select *from DemoTable
   group by Message
   order by field(Message,'Amazing','Awesome','Good','Bye');

这将产生以下输出-

+---------+
| Message |
+---------+
| Amazing |
| Awesome |
| Good    |
| Bye     |
+---------+
4 rows in set (0.04 sec)
 类似资料:
  • 问题内容: 我有评论回复(仅到一个级别)功能。所有评论最多可以包含回复,但是没有回复可以包含其进一步的回复。 所以我的数据库表结构如下 在上述结构中,commentid,1(具有2个答复)和3(1个答复)具有答复。因此,要获取评论及其回复,一个简单的方法是首先获取所有ParentId为0的评论,然后运行while循环获取该特定commentId的所有回复。但是,如果我在特定记录上有大约200条评论

  • 如何构建查询来实现这一点?

  • 问题内容: 我有两个查询,如下所示: 我想一次执行两个查询。 但是,然后告诉我如何处理每个单独设置的表。实际上,在ASP.NET中,我们使用数据集来处理两个查询, 如何使用PHP / MYSQL做同样的事情? 问题答案: 更新: 显然可以通过将标志传递给。请参阅使用PHP在一条语句中执行多个SQL查询。尽管如此,任何当前的读者都应避免使用-class函数,而更喜欢PDO。 您无法使用PHP中的常规

  • 问题内容: 我有一个接受查询,通过SQL服务器运行它,检查错误并返回结果的类。如何对该课程进行单元测试? 编辑 :我将尝试更精确: 负责将查询传递到服务器。为了测试它是否确实这样做,抛出正确的异常等,我想将其连接到将要填充的模拟数据库。我的问题是- 怎么做?如何创建一个模拟“服务器”来处理呼叫? 问题答案: 只需传递一个SQL查询,然后将返回的结果与预期的结果进行比较即可。简单的。JUnit是一个

  • 问题内容: 使用上面的代码,数据库kuis中表Writers的第三行值将使用new_value更新,并且输出将为 Number od rows更新:1 我应该如何同时更新多行? 问题答案: 可能您正在寻找cursor.executemany。

  • 我需要从表中选择所有的vip并按兰德排序,然后添加按日期排序的其他数据。在第一个子查询中,一切正常,但在第二个子查询中,spa_date DESC不起作用。我知道UNION子查询中的ORDER BY子句会被忽略而没有限制(但ORDER BY rand()起作用),但我需要所有查询(1+2)中的限制,而不是子查询中的限制 问题: 我需要选择spa_vip=1的所有spa_id并按RAND()排序,然