gpt4 book ai didi

sql - 选择不同的日期和计数

转载 作者:行者123 更新时间:2023-12-02 05:10:08 24 4
gpt4 key购买 nike

我的示例表结构是:

TestDate
----------------------
2013-03-25 14:26:40.830
2013-03-20 13:37:39.763
2012-09-10 14:55:55.667
2013-03-20 13:33:20.480

我的查询是:

SELECT DISTINCT 
REPLACE(RIGHT(CONVERT(VARCHAR(20), TestDate, 106), 8), ' ', '-') AS TT
,(SELECT COUNT(*)
FROM Test bp
WHERE
CONVERT(VARCHAR(20), p.TestDate, 6) = CONVERT(VARCHAR(20), bp.TestDate, 6)) AS Posts
FROM Test p

我得到了一个结果:

TT         Posts
Mar-2013 1
Mar-2013 2
Sep-2012 1

但我想要一个结果:

TT         Posts
Mar-2013 3
Sep-2012 1

但我无法在我的查询中找到我的错误。谢谢。

最佳答案

您是否尝试选择每个月的行数和计数?

如果是这样 - 尝试这样的事情:

SELECT  
YEAR(Testdate), MONTH(Testdate),
COUNT(*) totalPost
FROM
tableName
GROUP BY
YEAR(Testdate), MONTH(Testdate)

更新:如果您坚持在 SQL Server 中对其进行格式化(我认为这是错误的地方...) - 然后使用如下内容:

SELECT DISTINCT
SUBSTRING(DATENAME(MONTH, TestDate), 1, 3) + '-' + CAST(YEAR(TestDate) AS VARCHAR(4)),
YEAR(Testdate), MONTH(Testdate),
TotalPosts = COUNT(*)
FROM
tableName
GROUP BY
SUBSTRING(DATENAME(MONTH, TestDate), 1, 3) + '-' + CAST(YEAR(TestDate) AS VARCHAR(4)),
YEAR(Testdate), MONTH(Testdate)
ORDER BY
YEAR(Testdate), MONTH(Testdate)

关于sql - 选择不同的日期和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612060/

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