mysql - SQL 按 2 个条件排序
问题描述
假设我有一个数据库,看起来像这样:
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
我试图写一个简单的查询,但它不能考虑2个条件,一个接一个:
SELECT price, date, hour
FROM table
WHERE date BETWEEN '2018-12-04' AND '2018-12-11'
ORDER BY date, hour
任何人都可以帮助解决这个问题吗?
谢谢大家!
解决方案
我能想到的唯一真正的问题是是否hour
存储为字符串。如果是这样,请使用隐式转换:
SELECT price, date, hour
FROM table
WHERE date BETWEEN '2018-12-04' AND '2018-12-11'
ORDER BY date, hour + 0;
推荐阅读
- scala - 如何删除包含特定值的行,同时保留具有空值的行?
- javascript - 从 Angular 中的孙子组件访问祖父组件属性
- flutter - Flutter 自定义 Clipper 半径
- javascript - 如何在提交的表单中获取 Select 控件的选定值
- javascript - javascript:json根据各自的id将数据推送到二维json数组
- java - 您如何命令 IntelliJ 在反映您的项目结构的“测试”目录中创建相应的 JUnit 测试?
- android - Android - 减少 APK 大小,针对不同架构分离 APK
- flutter - Listview builder 没有获取完整的 List Map 数据 Flutter
- java - 使用 PDFBOX 合并 PDF 仅在 AWS lambda 上给出 65536 错误的临时文件大小
- flutter - 我怎么能把一些按钮放在屏幕底部但是呢?