線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1564
推到 Plurk!
推到 Facebook!

请教一段ms sql

答題得分者是:老大仔
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-05-22 14:05:28 IP:125.122.xxx.xxx 訂閱
请问各位大在,我用ms sql,想得到下面的结果,该怎样下?不胜感激
也就是说,我想让同一名称,数量重复的都显示出来
序号 数量 名称
1 2 苹果
2 2 香蕉
3 2 苹果
4 5 香蕉
5 5 桔子
6 5 桔子
7 7 香蕉
8 5 桔子

得到:
序号 数量 名称
1 2 苹果
3 2 苹果
5 5 桔子
6 5 桔子
8 5 桔子
編輯記錄
luowy651 重新編輯於 2012-05-22 00:07:25, 註解 無‧
luowy651 重新編輯於 2012-05-22 01:26:44, 註解 無‧
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-05-22 14:19:15 IP:61.66.xxx.xxx 訂閱
還是請先說明哪種資料庫!!

select 「序號」,「數量」,「名稱」,count(數量) as T1,count(名稱) as T2
from [table]
group by 「數量」,「名稱」having (T1>1 and T2>1)


------
======================
昏睡~
不昏睡~
不由昏睡~
編輯記錄
ko 重新編輯於 2012-05-22 00:33:17, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-05-22 14:33:27 IP:59.120.xxx.xxx 未訂閱
MSSQL2005

Select A.序號, A.數量, A.名稱
From fff A
Left Join (Select 數量, 名稱, Count(數量) 數量2
From fff
Group by 數量, 名稱
Having Count(數量) > 1 ) B
on A.名稱 = B.名稱
Where B.數量2 > 0
Order by A.序號
編輯記錄
老大仔 重新編輯於 2012-05-22 00:33:56, 註解 無‧
老大仔 重新編輯於 2012-05-22 00:35:33, 註解 無‧
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-05-22 15:30:05 IP:125.122.xxx.xxx 訂閱
对不起,可能我没写清楚,我试不出来,我要求相同数量,相同名字的才出现,区别只是序号
还请大大们再帮忙啊,小弟初学,用的是ms sql
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-05-22 15:43:28 IP:59.120.xxx.xxx 未訂閱
試不出來?您的SQL是哪個版本?
我的Code有測過
是可以符合需求的

===================引 用 luowy651 文 章===================
对不起,可能我没写清楚,我试不出来,我要求相同数量,相同名字的才出现,区别只是序号
还请大大们再帮忙啊,小弟初学,用的是ms sql
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2012-05-23 09:17:05 IP:115.204.xxx.xxx 訂閱



可能是我在主贴中没写清楚
我没试出来,我用的是sql2000,请各位大大再帮忙,小弟初学,不胜感激
===================引 用 老大仔 文 章===================
試不出來?您的SQL是哪個版本?
我的Code有測過
是可以符合需求的

===================引 用 luowy651 文 章===================
对不起,可能我没写清楚,我试不出来,我要求相同数量,相同名字的才出现,区别只是序号
还请大大们再帮忙啊,小弟初学,用的是ms sql
編輯記錄
luowy651 重新編輯於 2012-05-22 19:18:50, 註解 無‧
luowy651 重新編輯於 2012-05-22 19:20:45, 註解 無‧
luowy651 重新編輯於 2012-05-22 19:22:07, 註解 無‧
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2012-05-23 09:31:55 IP:115.204.xxx.xxx 訂閱
对了,请把上图中序号为5的苹果,数量改为4
我要的结果如下:
編輯記錄
luowy651 重新編輯於 2012-05-22 19:36:34, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2012-05-23 09:42:47 IP:59.120.xxx.xxx 未訂閱
從您的圖片看來
應該是沒錯的...
不清楚您所謂的沒試出來是怎樣的沒試出來...
您需求是寫"同一名称,数量重复的都显示出来"
例子:
序号 名称
1 苹果
2 香蕉
3 苹果
4 香蕉
5 桔子
6 桔子
7 香蕉
8 桔子
得到:
序号 名称
1 苹果
3 苹果
5 桔子
6 桔子
8 桔子
例子中的結果
桔子有三筆
其因是數量5的桔子有三筆
所以會是
5 桔子
6 桔子
8 桔子
而再依您的圖片來看
以此類推
您的那些資料應該也是如此才對...
===================引 用 luowy651 文 章===================



可能是我在主贴中没写清楚
我没试出来,我用的是sql2000,请各位大大再帮忙,小弟初学,不胜感激
===================引 用 老大仔 文 章===================
試不出來?您的SQL是哪個版本?
我的Code有測過
是可以符合需求的

===================引 用 luowy651 文 章===================
对不起,可能我没写清楚,我试不出来,我要求相同数量,相同名字的才出现,区别只是序号
还请大大们再帮忙啊,小弟初学,用的是ms sql
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2012-05-23 10:17:41 IP:115.204.xxx.xxx 訂閱
终于试出来了
SELECT a.序号, a.数量, a.名称
FROM a RIGHT OUTER JOIN
(SELECT 数量, 名称, COUNT(数量) AS 数量2
FROM a
GROUP BY 数量, 名称
HAVING (COUNT(数量) > 1)) b ON a.数量 = b.数量 AND a.名称 = b.名称
ORDER BY a.名称, a.序号
系統時間:2024-03-29 16:28:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!