李琴 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