Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql中获得以下数据集的排名?_Mysql - Fatal编程技术网

如何在mysql中获得以下数据集的排名?

如何在mysql中获得以下数据集的排名?,mysql,Mysql,基于以下数据集,如何获得下一列的排名 create table testrank(column_val varchar(10), rank_val integer); insert into testrank(column_val) values ('OH3'), ('OH3'), ('IH3'), ('OH1'), ('OH1'), ('IH1'), ('IH1'), ('IH3'), ('IH3'), ('OH3'), ('OH3')

基于以下数据集,如何获得下一列的排名

  create table testrank(column_val varchar(10), rank_val integer);

  insert into testrank(column_val)
  values
  ('OH3'),
  ('OH3'),
  ('IH3'),
  ('OH1'),
  ('OH1'),
  ('IH1'),
  ('IH1'),
  ('IH3'),
  ('IH3'),
  ('OH3'),
  ('OH3'),
  ('OH3'),
  ('OH3');

  Expected result
  column    Rank
   OH3       3
   OH3       3
   IH3       3
   OH1       2
   OH1       2
   IH1       2
   IH1       2
   IH3       1
   IH3       1
   OH3       1
   OH3       1
   OH3       1
   OH3       1

我可以看出数据模式有点不同。在这种情况下,数据的顺序不应该改变。

我真的不理解这个问题。你是说这个吗

SELECT column_val,
       rank_val AS Rank
FROM   testrank;
如果您想订购,可以使用[ASC|DESC]
如果没有帮助,请描述您想要实现的目标和尝试的内容

为列rank_val插入值,然后您可以使用以下查询列出该列

select column_val as column,rank_val as rank from testrank;
您可以使用以下查询对输出进行排序

select column_val as column,rank_val as rank from testrank order by rank_val desc;

@datavadar:第一列是值,第二列是秩(我必须使用sql代码填充),您想做什么?按特定顺序选择它?是否添加具有计算值的列?还有什么?先生,我是说我有一个列名'column_val',我想用sql代码显示这个列的排名,顺序的排名应该以给定的方式匹配(rank_val),这应该用sql代码生成。这里的'rank for this column'是指“rank_val”中的值,输出中的绝对位置还是什么?你能举个例子说明你得到了什么和你想要得到什么吗?我也不明白这个。为什么“OH3”和“IH3”在结果末尾的排名是1,而在结果开头的排名是3?