重復次數mysql語句問題

重復次數mysql語句問題

我要得到的功能很簡單,不過不知道mysql是否支持二次查詢(可以就簡單點),請看:
SELECT `no` , `name` , `passWord` , count( `passWord` )  AS `重復的密碼次數`
FROM `i_member`
WHERE 'name' = (
SELECT 'name'
FROM 'i_member'
group by `name`
having `重復的密碼次數` >1);

這個是我寫了但有錯誤的語句,請參考上面這個嘗試實現以下目標:
例子:
ID 名稱 備注
一 蘋果 aa
二 西瓜 df
三 蘋果 bb

我想要的效果:

ID 名稱 備注 重復次數
一 蘋果  aa  2 (兩次)
三 蘋果  bb  2
二 西瓜  df  1 (一次)

請幫忙,謝謝!

我有点不明白的是.既然你查询的都是同一个表,又何必用子查询?
况且你第一次查询的列名不能用在子查询中吧?另外,不能保证子查询只有一条
记录的情况下应该用in而不是=

這個是模擬的數據庫:
CREATE TABLE `foot` (
  `ID` varchar(10) NOT NULL,
  `name` varchar(10) NOT NULL,
  `text` varchar(10) NOT NULL
) ;

INSERT INTO `foot` (`ID`, `name`, `text`) VALUES ('1', 'pg', 'aa'),
('2', 'xg', 'ba'),
('3', 'pg', 'ab');

需要做出以下效果:

ID name text 重復次數
1   pg     aa     2
3   pg     ab     2
2   xg     ba     1

SELECT `ID` , `name` , `text`,count(`name`)
FROM `foot`
GROUP BY `name`;

這個也是不成功的。救命~!!請問怎么寫啊?謝謝了!!!

[ 本帖最后由 mayongheng 于 2007-4-13 18:05 编辑 ]

經過測試,這個論壇作用還是不大,以后還是靠自己,我公布答案算了:

CREATE TEMPORARY TABLE temp SELECT name, count( name ) AS num
FROM `foot`
GROUP BY name;

SELECT foot. * , temp.num
FROM foot
JOIN temp ON foot.name = temp.name
ORDER BY foot.name;

都沒人回復的,以后都不來這里了。

回复 #2 巴乔 的帖子

謝謝你~~

你问的问题可能人家也不会.怎么说论坛是无可厚非的

很多时候都要靠自己.