李琴 wrote:
hi,
I want to find something in wikidb. But I don't exectly know how to use the select statement write in WIKI.
For ecample . DatabaseBase::select ($ table, $ vars, $ conds = '', $ fname = 'Database::select', $ options = array(), $ join_conds = array() )
How can I use this to rewrite ' select * from recentchangs where rc_id in(selcet max(rc_id) from recentchangs group by rc_title) and rc_title='Wiki' '.
Thanks very much!
vanessa lee
Don't use subselects, they're not supported by MySQL 4.0 which is what we target.
$dbr = wfGetDB( DB_SLAVE );
$max = $dbr->selectField( 'recentchanges', 'max(rc_id)', false, __METHOD__, array( 'GROUP BY' => 'rc_title' );
$res = $dbr->select( 'recentchanges', '*', array( 'rc_id' => $max, 'rc_namespace' => 0, 'rc_title' => 'Wiki', ), __METHOD__ );
foreach ( $res as $row ) { // $row is the result row }
The rc_namespace condition is necessary.
-- Tim Starling