sql按2个条件排序

0h4hbjxa  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(371)

假设我有一个数据库,看起来是这样的:

price      date       hour
12.00    2018-12-11    5
13.00    2018-12-04    2
14.00    2018-12-06    1 
15.00    2018-12-11    1
16.00    2018-12-04    6
17.00    2018-12-06    10

我需要按日期订购,如果下班后的天数相同,那么结果应该是:

price      date       hour
    13.00    2018-12-04    2
    16.00    2018-12-04    6
    14.00    2018-12-06    1
    17.00    2018-12-06    10
    15.00    2018-12-11    1
    12.00    2018-12-11    5

我试图编写一个简单的查询,但它不能考虑两个条件,一个接一个:

SELECT price, date, hour
FROM table
WHERE date BETWEEN '2018-12-04' AND '2018-12-11'
ORDER BY date, hour

有人能帮忙解决这个问题吗?
谢谢大家!

lbsnaicq

lbsnaicq1#

一个简单的 ORDER BY 就足够了:

select * from my_table order by `date`, hour;

请注意 date 通常是一个保留字,因此不鼓励使用,需要引用。

jmp7cifd

jmp7cifd2#

我能想到的唯一真正的问题是 hour 作为字符串存储。如果是,请使用隐式转换:

SELECT price, date, hour
FROM table
WHERE date BETWEEN '2018-12-04' AND '2018-12-11'
ORDER BY date, hour + 0;

相关问题