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

MySQL查询显示多列的排名?

常炯
2023-03-14
本文向大家介绍MySQL查询显示多列的排名?,包括了MySQL查询显示多列的排名?的使用技巧和注意事项,需要的朋友参考一下

为此,请使用FIND_IN_SET()方法。让我们首先创建一个表-

mysql> create table DemoTable634 (FirstName varchar(100),Marks int,Age int);

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

mysql> insert into DemoTable634 values('John',60,23);
mysql> insert into DemoTable634 values('Chris',80,21);
mysql> insert into DemoTable634 values('Robert',70,24);

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

mysql> select *from DemoTable634;

这将产生以下输出-

+-----------+-------+------+
| FirstName | Marks | Age  |
+-----------+-------+------+
| John      |    60 |   23 |
| Chris     |    80 |   21 |
| Robert    |    70 |   24 |
+-----------+-------+------+
3 rows in set (0.00 sec)

以下是显示多列等级的查询-

mysql> SELECT FirstName,Marks,Age,
   FIND_IN_SET( Marks,( SELECT GROUP_CONCAT( Marks ORDER BY Marks DESC ) FROM DemoTable634)) AS RankOfMarks,
   FIND_IN_SET(Age,( SELECT GROUP_CONCAT( Age ORDER BY Age DESC ) FROM DemoTable634) ) AS RankOfAge
   FROM DemoTable634;

这将产生以下输出,显示基于标记和年龄的排名-

+-----------+-------+------+-------------+-----------+
| FirstName | Marks | Age  | RankOfMarks | RankOfAge |
+-----------+-------+------+-------------+-----------+
| John      |    60 |   23 |           3 |         2 |
| Chris     |    80 |   21 |           1 |         3 |
| Robert    |    70 |   24 |           2 |         1 |
+-----------+-------+------+-------------+-----------+
3 rows in set (0.01 sec)
 类似资料:
  • 我已经创建了users表。 然后我创建了一个新的帐户前端网页。 我给出了: 用户名:° 帐户创建成功。 现在我可以通过我的用户名和密码登录。然后我可以清楚地看到我的用户名为°在网页。 但当我在终端中运行sql查询时: 我得到的输出是: 我无法看到我的用户名为°。但我可以通过网页登录。 为什么我不能在查询输出中看到我的用户名? 有些用户说我的终端编码有问题。 为了测试这一点,我运行。 输出为° 所以

  • 问题内容: 我有一个数据库表看起来像这样 当我运行此查询时,应该不显示任何行,因为不存在具有value的行: SELECT * FROM tableName WHERE ID =‘101foo2’ 我得到的结果具有相同的ID,但没有单词 如果我的查询是如何显示具有ID的行 问题答案: 您正在混合类型。 是一个整数(或数字)。您正在将其与字符串进行比较。因此,MySQL需要确定用于比较的类型。使用什

  • 在hive中,我们可以“在table_name中显示列”,只获取表的列名,但我希望查询只显示Impala中表的列名,如何才能获取Impala中表的列名呢?

  • 现在,这个问题不是关于MySQL查询、结果行或与数据库本身相关的任何内容,而是关于MySQL Workbench程序。 我在程序中打开了数十个表格(包括更改表格和编辑行/列),并且一次只能在UI中看到大约10个标签,因为它们只有一行。使用左右箭头显示更多标签非常缓慢和烦人。 那么,有没有什么方法可以显示多行标签或者以某种方式增加它们的空间?偏好与它无关,除了字体和搜索网络只会返回毫无意义的东西。

  • 问题内容: 我有一张桌子,看起来像: 我需要查询该表以按价格对所有行进行排序,但始终显示一个随机行,其顶部具有VIP = 1。因此,例如,查询应返回: 当您刷新页面时,行ID 5可能会成为第一行,因为它的VIP = 1。 我目前有我的查询,看起来像: 这样做的问题是,它将仅显示一个VIP行。我将如何正确查询这些数据? 问题答案: 使用。这是一种方法: 这使用子查询来标识要保留在顶部的一行。然后,它

  • 目前,我正在开发一个社交媒体网站,用户可以像Facebook一样发布任何内容。现在我已经开发了一个从数据库过滤帖子的高级搜索。例如,数据库中有40,000个条目,我想通过高级搜索过滤行。例如,如果我搜索网站,它会显示正确的条目,但如果我搜索图像或视频,它会重复结果。 我只有40,000行,但在结果中显示了2,51,905个条目。这是我的疑问 我在等你的回应。谢谢.