回答

收藏

SQL ORDER BY多列

技术问答 技术问答 107 人阅读 | 0 人回复 | 2023-09-13

我想按两列对我的产品表进行排序:prod_price和prod_name。
5 K" l- F8 V7 G- {) E" OSELECT prod_id, prod_price, prod_name
+ o+ x5 \! P4 w1 @. e5 |* gFROM Products, B. ^5 G6 @  H
ORDER BY prod_price, prod_name;9 f9 a9 E/ V3 b. b! p+ d
这里的排序方式如何?我认为这首先发生prod_price,然后发生prod_name。另外,以上查询与此查询有何不同:
- L7 G1 L7 A2 y2 g+ wSELECT prod_id, prod_price, prod_name; X* q- r3 s" I- d
FROM Products# z3 N4 X4 s6 @6 h; r
ORDER BY prod_name;* w/ v9 t+ p' }
我的产品表如下:
) t8 f/ c* [" d5 f" VCREATE TABLE Products6 a5 @2 y* ]5 b) t. v
(6 \& M3 p- f2 C
  prod_id    char(10)      NOT NULL ,* d6 U' p/ M) e& C
  vend_id    char(10)      NOT NULL ,
% n9 C6 V" g9 @! M, @2 `  prod_name  char(255)     NOT NULL ,7 N' g, \7 V, G" ^+ x0 G1 ~- Y
  prod_price decimal(8,2)  NOT NULL ,
& s" w3 a" E" Q' J2 [  prod_desc  text          NULL
' {5 w* G8 h  Q9 l! g);
/ x4 [) R9 q. [. |$ n4 A/ D1 E: n+ I               
; I6 X6 n/ l- t; e3 |1 O! m# D解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则