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

請問這樣的資料要如何查詢呢?

答題得分者是:bighm
Blueberrug
一般會員


發表:14
回覆:50
積分:17
註冊:2005-05-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-22 11:32:44 IP:59.120.xxx.xxx 訂閱
大家好:
我有一個資料表名稱為t_user其資料欄位為ID, UserName, NickName, Birthday
資料表內容為
IdUserNameNickNameBirthDay
1MrAA2007/09/17
2MrA2A2007/09/15

我若要查詢不重複的NickName資料
其SQLCommand為
[code sql]
select distinct nickname from t_user
[/code]

請問大家若我要查詢不重複的NickName資料但是要按照BirthDay來排序的話
我原本是寫
[code sql]
select distinct nickname from t_user order by birthday
[/code]
結果系統回應此訊息「如果已指定 SELECT DISTINCT,則 ORDER BY 項目必須顯示於選取清單中」
請問要怎麼解決呢?謝謝您的幫忙啊!
bighm
一般會員


發表:5
回覆:21
積分:15
註冊:2006-10-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-23 20:14:37 IP:59.104.xxx.xxx 訂閱
我是這樣解讀啦,您要查出相同的 NICKNAME 中,最大的 BRITHDAY

[code sql]
SELECT * FROM
(SELECT NICKNAME, MAX(BIRTHDAY) FROM T_USER GROUP BY NICKNAME) A,
(SELECT * FROM T_USER) B
WHERE A.NICKNAME = B.NICKNAME
AND A.BIRTHDAY = B.BIRTHDAY

[/code]

PS. 以上誕法,在ORACLE 測試成功,SQL SERVER,我沒有環境,所以您自己看著辦啦
PPS. 這東西感覺還真像學校作業
編輯記錄
bighm 重新編輯於 2007-09-23 20:15:29, 註解 錯字‧
bighm 重新編輯於 2007-09-23 20:20:58, 註解 無‧
Blueberrug
一般會員


發表:14
回覆:50
積分:17
註冊:2005-05-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-27 16:35:59 IP:59.120.xxx.xxx 訂閱
  您好:

我最後是仿照上面的SQLCommand來查詢我的資料

[code sql]
select nickname, max(birthday) as 'birthday' from t_user group by nickname order by birthday desc
[/code]

系統時間:2024-04-29 15:30:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!