我希望我的约会能在一个月内以2位数出现,但我似乎只能得到1。我已经在互联网上搜索了一个解决方案,找到了一些看起来应该有效的解决方案,但一直得到一个1064错误代码。我几天前才开始学习SQL,所以我可能已经找到了正确的答案,只是不知道在查询中把它放在哪里。
这就是我如何连接到mySQL工作台中的数据库的方式:
若要连接到MySQL服务器,请将客户端程序指向:
主机: applepie.cx67wtelpwox.us-east-1.rds.amazonaws.com
用户名: public
港口: 3306
这是我的疑问:
SELECT
concat(year, '-', month) AS theDate,
dest,
sum(1) AS numFlights,
sum(cancelled) AS numCancelled,
((sum(Cancelled) / sum(1))) AS perCancelled
FROM flights WHERE year = 2013
AND dest = 'SFO'
GROUP BY month
ORDER BY perCancelled desc我得到的是:
2013-7 SFO 15401 862 0.0560
2013-6 SFO 14768 503 0.0341
2013-8 SFO 15478 322 0.0208这就是我想要的:
2013-07 SFO 15401 862 0.0560
2013-06 SFO 14768 503 0.0341
2013-08 SFO 15478 322 0.0208发布于 2017-11-21 20:05:55
您可以使用lpad构建一个月的2字符长度字符串。
SELECT
concat(year, '-', lpad(month, 2,'0')) AS theDate,
dest,
sum(1) AS numFlights,
sum(cancelled) AS numCancelled,
((sum(Cancelled) / sum(1))) AS perCancelled
FROM flights WHERE year = 2013
AND dest = 'SFO'
GROUP BY month
ORDER BY perCancelled deschttps://stackoverflow.com/questions/47421606
复制相似问题