Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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_Sql_Select_Grouping_Columnsorting - Fatal编程技术网

Mysql 如何在两列中选择不同的行并分别对它们进行排序

Mysql 如何在两列中选择不同的行并分别对它们进行排序,mysql,sql,select,grouping,columnsorting,Mysql,Sql,Select,Grouping,Columnsorting,我有一个sql: SELECT DISTINCT car_year, car_make FROM cars GROUP BY car_year, car_make ORDER BY car_year ASC, car_make ASC 它返回以下内容: car_year | car_make ------------------- 2009 | TOYOTA 2011 | AUDI 2013 | ACURA 2014 | AUDI 2015 | KI

我有一个sql:

SELECT DISTINCT car_year, car_make 
FROM cars
GROUP BY car_year, car_make 
ORDER BY car_year ASC, car_make ASC
它返回以下内容:

car_year | car_make
-------------------
    2009 | TOYOTA
    2011 | AUDI
    2013 | ACURA
    2014 | AUDI
    2015 | KIA
    2015 | ACURA
我需要它更加独特(独特),并且几乎作为单独的列表,即使这些列表存储在同一个表(汽车)中。大概是这样的:

car_year | car_make
-------------------
    2009 | ACURA
    2011 | AUDI
    2013 | KIA
    2014 | TOYOTA
    2015 | 
试试这个

  SELECT  car_year, car_make 
  FROM <tablename>
  GROUP BY car_make, car_year 
  ORDER BY car_year ASC, car_make DESC
选择汽车年份、汽车品牌
从…起
按汽车品牌、汽车年份分组
按车辆年份ASC订购,车辆制造说明

您想实现什么?为什么不只执行两个单独的select distinct语句呢?您已经删除了数据之间的关系。这就是您需要的吗?我希望对两列进行排序并选择,分别运行每个查询并查看结果。我们不能合并数据的原因是因为列有两种不同的数据类型,并且我们不能在任何事情上进行连接。(没有明显的PK?)。希望有人能提供更好的解决方案。有人比我更熟悉SQL。似乎SQLFiddle正在隐藏另一个查询->选择不同的年份,不按测试顺序排序year@MarkLaREZZA,谢谢你的详细解释。这就是我最后所做的。我用Daniel的答案构建了两个独立的查询。这和我已经尝试过的一样,除了where子句removedi改变了顺序,只是看这不是我真正想要的。我想得到每年,排序的ASC和每个make排序的ASC,每个列下没有重复的值,为什么他需要在汽车年上进行区分?数据显示没有重复的年份。因为我会想象他有超过5行的真实数据。是的,所有数据都是年份,类似于列名,2015年实际上有两次。a的儿子。。。接得好。我的错误
SELECT DISTINCT car_year
FROM cars
ORDER BY car_year

SELECT DISTINCT  car_make 
FROM cars
ORDER BY car_make