gpt4 book ai didi

MySQL日期查询只返回一年,当存在多个时

转载 作者:行者123 更新时间:2023-11-29 05:45:31 25 4
gpt4 key购买 nike

我是一名兼职设计师/开发人员,从事兼职摄影业务。我有一个照片数据库,其中附有各种元数据。我想查询数据库并返回照片拍摄年份的列表,以及那一年拍摄的照片数量。

简而言之,我想要一个如下所示的列表:

2010 (35 photos)
2009 (67 photos)
2008 (48 photos)

这是我正在使用的查询:

SELECT YEAR(date) AS year, COUNT(filename) as quantity FROM photos WHERE visible='1' GROUP BY 'year' ORDER BY 'year' DESC

这里没有列出所有可能的年份(数据库包含 2010-2008 年的照片),而是唯一的结果:

2010 (35 photos)

我已经尝试了很多不同的语法,但在这一点上我屈服并寻求帮助!

最佳答案

不要对 year 进行单引号。
那就是告诉 MySQL year 是一个字符串;它不是。

此外,不要在GROUP BY 中使用别名。

试试这个:

SELECT YEAR(date) AS year, COUNT(filename) as quantity 
FROM photos
WHERE visible='1'
GROUP BY YEAR(date)
ORDER BY YEAR(date) DESC

编辑:
在大多数 RDBMS 中,SELECT 子句最后解释。
所以我们不能在该特定查询的其他子句中使用列别名。

关于MySQL日期查询只返回一年,当存在多个时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2669905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com