SQL";选择";查询
我相信这很简单,我只是今天喝的咖啡不够 因此,我有一个带有几列的表,如:SQL";选择";查询,sql,select,sqlite,Sql,Select,Sqlite,我相信这很简单,我只是今天喝的咖啡不够 因此,我有一个带有几列的表,如: NAME1 val1 val2 val2 NAME2 val1 val2 val3 第一列中只有大约20个不同的名称,值是实数,但有时会出现重复。我必须为每个不同的名称找到最佳排名行。 排名是通过先按val1排序,然后按val2排序,再按val3排序来完成的 编辑:下面是一个例子: Ben 2.1 1.0 0.6 Ben 0.1 1.0 0.6 Ben 2.1 0.9 0.1 Alice 2.1 0
NAME1 val1 val2 val2
NAME2 val1 val2 val3
第一列中只有大约20个不同的名称,值是实数,但有时会出现重复。我必须为每个不同的名称找到最佳排名行。
排名是通过先按val1排序,然后按val2排序,再按val3排序来完成的
编辑:下面是一个例子:
Ben 2.1 1.0 0.6
Ben 0.1 1.0 0.6
Ben 2.1 0.9 0.1
Alice 2.1 0.9 0.1
Alice 2.0 0.9 0.1
答案应该是:
Ben 2.1 1.0 0.6
Alice 2.1 0.9 0.1
您没有太多的文档,除非您提供更多的查看“desc”以反转排序,否则无法更加精确
select [name],max(val1) as val1,max(val2) as val2,max(val3)as val3 from sql_select group by [name] order by val1 desc, val2 desc, val3 desc;
select [name],max(val1) as val1,max(val2) as val2,max(val3)as val3 from sql_select group by [name] order by val1 desc, val2 desc, val3 desc;