看板 Database 關於我們 聯絡資訊
※ 引述《knives ()》之銘言: : 我用的DBMS是 Mysql : 我的table 有一個記錄登入的ip的欄位lastloginip 跟該用戶的uid : 我想要用下面的sql找出,同一個ip,被多少的用戶登入 : SELECT DISTINCT lastloginip ,s.uid,count(s.uid) as sc FROM `space` s : GROUP BY lastloginip : ORDER BY sc desc : 這樣的確是可行 : 但是我現在如果想要找出 sc > n 也就是用一個ip被n個以上的用戶登入 : 我本來以為 直接用subquery : WHERE (SELECT count(s.uid) sc FROM `space` s GROUP BY lastloginip ) > 1 : 可是會有 Subquery returns more than 1 row 的錯誤 : 請問該怎麼下才對 : 謝謝回答 用 HAVING 便可. 另外原先的 SQL 中用 GROUP BY lastloginip 便不需要 SELECT DISTINCT SELECT s.`lastloginip`, s.`uid`, COUNT(s.`uid`) AS `sc` FROM `space` s GROUP BY s.`lastloginip` HAVING `sc` > 1 ORDER BY `sc` DESC -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 71.107.127.201
knives:原來如此,感恩 06/10 08:28