【发布时间】:2014-04-02 16:39:12
【问题描述】:
我正在使用一个简单的存储过程从数据库中获取一些数据,目前它工作正常。
SQL 中有没有一种方法可以计算每个项目在我的选择结果中出现的频率,然后删除重复项,例如查看“url”列? 基本上我想添加到我的选择结果的每一行,然后理想地删除重复项。
示例: 我未经过滤的结果是:url1、url1、url1、url2、url2、url3。 我想看到的是: 网址1 3 网址2 2 网址3 1
我的存储过程:
**ALTER PROCEDURE [dbo].[CountQueue]
AS
BEGIN
SET NOCOUNT ON;
SELECT dateEsc,
url,
EID
FROM QueueLog
WHERE logStatus = 'New'
AND region = 'US'
AND (
flag = 'flag1'
OR
flag = 'flag2'
)
ORDER BY dateEsc desc, EID desc
END**
非常感谢您对蒂姆的任何帮助
【问题讨论】:
-
根据你的描述,我不明白为什么 SELECT DISTINCT 不起作用,但我怀疑你在你的问题中遗漏了细节,说明为什么这是不够的。
标签: sql sql-server stored-procedures count ranking