mysql - 查询 MySQL 以显示整数和排序
问题描述
我有一个包含这些列的 MySQL 数据库:
bookingdatetime (DateTime)
promo (Varchar)
我想查询数据库以计算使用的不同促销代码的数量(如果促销行不为空)并给出如下输出:
promo amount appeared that month
example - 01/20 13
<promocode - mm/yy> <number of times that code was used in that month>
这是我到目前为止所拥有的:
SELECT DATE_FORMAT(bookingdatetime, '%m/%y') `promo`,
SUM(promo != '') 'count'
FROM `reservations`
WHERE pickuploc = 'la'
GROUP BY DATE_FORMAT(bookingdatetime, '%m/%y'), YEAR(bookingdatetime)
ORDER BY YEAR(bookingdatetime), DATE_FORMAT(bookingdatetime, '%m/%y')
我需要在 %m%y 之前获取促销中使用的促销代码,并且我不需要显示 count 是否有 0 个整数。
解决方案
这应该可以解决问题:
SELECT
CONCAT(promo, ' - ', DATE_FORMAT(bookingdatetime, '%m/%y')) AS promo,
COUNT(*) AS count
FROM reservations
WHERE pickuploc = 'la'
AND COALESCE(promo, '') <> ''
GROUP BY
DATE_FORMAT(bookingdatetime, '%m/%y'),
promo
HAVING COUNT(*) > 0
ORDER BY
DATE_FORMAT(bookingdatetime, '%y'),
DATE_FORMAT(bookingdatetime, '%m')
样本输出:
promo count
foo - 01/19 2
bar - 01/19 1
foo - 02/19 2
bar - 03/19 1
foo - 03/19 1
SQL 小提琴示例:http ://sqlfiddle.com/#!9/86083/5
推荐阅读
- c# - 椭圆滑块拇指上的文本块 - 避免在文本更改 C# WPF 时调整椭圆后面的网格大小
- python - 不同比较类型的使用方式类似于 {b, c, d} 中的 if a:
- youtube-api - 为什么相同的 Youtube API 请求在不同的项目中返回 401?
- linkedin - 如何将图像和外部链接(带预览)添加到 LinkedIn 帖子?
- reactjs - 避免手动输入后端 url
- r - moduleServer 没有 ... 向模块函数添加附加参数,如 callModule
- python - 使用 tensorflow 2.4 的 RetinaNet 示例 keras.io('Tensor' 对象不能解释为整数)
- s3cmd - 我可以使用 s3cmd 在 vultr 对象上设置缓存控制标头吗?
- struct - 在结构的字段中使用引用时是否有任何限制?
- vue.js - Vue3编译中如何使用本地导入的组件?