表A中有以下数据
id  国家  洲
1   中国  亚洲
2   韩国  亚洲
3   英国  欧洲
4   德国  欧洲我想搜索得到以洲分类的结果集,原生sql语句和tp5里面分别怎么写啊?
比如结果是$data,
$data['亚洲'] = 1、2两条数据;
$data['欧洲'] = 3、4两条数据;
望解决,谢谢。

解决方案 »

  1.   

    直接查出所有的,然后按照州值分组$res = [
        ['id' => 1,'国家' =>'中国','洲'=>'亚洲'],
        ['id' => 2,'国家' =>'韩国','洲'=>'亚洲'],
        ['id' => 3,'国家' =>'英国','洲'=>'欧洲'],
        ['id' => 4,'国家' =>'德国','洲'=>'欧洲'],
    ];
    $data = [];
    foreach($res as $k=>$v){
        $data[$v['洲']][$v['id']] = $v;
    }
    echo "<pre>";
    print_r($data['亚洲']);
    print_r($data['欧洲']);
    echo "</pre>";
    /*
    Array
    (
        [1] => Array
            (
                [id] => 1
                [国家] => 中国
                [洲] => 亚洲
            )    [2] => Array
            (
                [id] => 2
                [国家] => 韩国
                [洲] => 亚洲
            ))
    Array
    (
        [3] => Array
            (
                [id] => 3
                [国家] => 英国
                [洲] => 欧洲
            )    [4] => Array
            (
                [id] => 4
                [国家] => 德国
                [洲] => 欧洲
            ))
    */