次の構造のテーブルがあります (標準の vBulletin インストールの一部として認識する人もいるかもしれません)。
mysql> SHOW CREATE TABLE adminlog\G
*************************** 1. row ***************************
Table: adminlog
Create Table: CREATE TABLE `adminlog` (
`adminlogid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`userid` int(10) unsigned NOT NULL DEFAULT '0',
`dateline` int(10) unsigned NOT NULL DEFAULT '0',
`script` varchar(50) NOT NULL DEFAULT '',
`action` varchar(20) NOT NULL DEFAULT '',
`extrainfo` varchar(200) NOT NULL DEFAULT '',
`ipaddress` varchar(15) NOT NULL DEFAULT '',
PRIMARY KEY (`adminlogid`),
KEY `script_action` (`script`,`action`)
) ENGINE=MyISAM AUTO_INCREMENT=698189 DEFAULT CHARSET=latin1
1 row in set (0.02 sec)
mysql>
PHP で次のクエリを実行すると、特定のユーザーが使用する個別のスクリプトが選択されます。
"SELECT DISTINCT script FROM adminlog WHERE userid = " . intval($userid)
(その特定のユーザー ID の) 出現回数でスクリプトを降順で並べ替えるクエリを取得するにはどうすればよいですか? ORDER BY COUNT(*)
それはしません。