zoukankan      html  css  js  c++  java
  • MariaDB SQL 对检索的数据排序

     

    ORDER BY


    SELECT prod_name
    FROM products;

    如果没有排序,数据通常按照底层表中的顺序显示。

    关系数据库设计理论认为,如果没有显示指定排序,不应该认为检索的数据顺序是有意义的。

    SELECT prod_name
    FROM products
    ORDER BY prod_name;

     

    以多列为标准排序


     

    SELECT prod_id, prod_price, prod_name
    FROM products
    ORDER BY prod_price, prod_name;

    当以多列为标准进行排序时,排序的序列必须严格按照规定的顺序,理解这个很重要(此处省略一些字)。如果prod_price列中的值都是唯一的,就没有数据以prod_name为标准进行排序了。

    数据的排序方向默认是升序排序(从A到Z)。为了进行降序排序,应使用关键字DESC

    SELECT prod_id, prod_price, prod_name
    FROM products
    ORDER BY prod_price DESC;

     值得注意的是:

    • 如果对文本进行排序,A与a相同吗?a在B之前还是在Z之后呢?这些不是理论性问题,答案取决于数据库是如何设置的。在字典排序顺序中,认为A与a相同,这是MariaDB中的默认行为。然而如果需要,管理员可以更改这种默认行为。这里的关键在于如果需要改变这种排序,一个简单的ORDER BY子句无法做到。
    • 结合使用ORDER BY和 LIMIT时,就又可以找出列中的最大值和最小值。

    SELECT prod_price
    FROM products
    ORDER BY prod_price DESC 
    LIMIT 1;

    “prod_price DESC”确保检索到的行按照价格由高到低排序,“LIMIT 1”告诉MariaDB 仅返回一行。

    总结:ORDER BY ,多行 ,DESC,排序无法解决字符集相关问题, LIMIT

  • 相关阅读:
    CodeForces
    网络流
    poj 2185
    树的分治学习
    数位DP
    URAL 1969. Hong Kong Tram
    hdu 4759 Poker Shuffle
    hdu3712 Detector Placement
    分块思想
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/dotdog/p/4472517.html
Copyright © 2011-2022 走看看