第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下面是我的PHP代碼,如果單純一次查詢不能實現(xiàn),那PHP應(yīng)怎樣寫呢?

下面是我的PHP代碼,如果單純一次查詢不能實現(xiàn),那PHP應(yīng)怎樣寫呢?

烙印99 2023-04-15 17:13:50
有一個user表,表中有兩個字段分別是username和city,表中有3條條記錄。username city張三 北京張三 上海李四 北京如果只是查詢張三和李四各有多少人,可以通過下面語句查詢select username,city,count(*)from usergroup by username問:怎樣查詢在不同城市叫張三和李四的人各有多少個呢?我希望顯示的結(jié)果是:張三 共2人 北京1人 上海1人 ...李四 共1人 北京1人 上海0人 ...所以通過通過下面查詢是不可行的。這會導(dǎo)致出現(xiàn)重復(fù)行,而且也不能統(tǒng)計張三有多少人。select username,city,count(*)from usergroup by username,city張三 1 張三 1 李四 1我需要的結(jié)果是:張三 2 1 1李四 1 1 0==============================================================<?php$db = new MySQLi(DB_HOST, DB_USER, DB_PASSWD, DB_NAME, DB_PORT);$query = " SELECT username,  count( * )  FROM user GROUP BY username ")$result = $db->query($query);$num_rows = $result->num_rows;$num_cols = $result->num_fields;echo '<table>';for ($i=0;$i<$num_rows;$i++){ $rows = $result->fetch_assoc(); echo '<tr>'; foreach($rows as $cols){ echo '<td>'.$cols.'</td>'; } echo '</tr>'; }echo '</table>'; ?>
查看完整描述

2 回答

?
慕碼人2483693

TA貢獻1860條經(jīng)驗 獲得超9個贊

先執(zhí)行

select username, city, count(*) from user group by city, username;

搜出來的結(jié)果(簡寫):

[  0 => [
    username => name1,
    city => city1,
    count => 1
  ],  1 => [
    username => name1,
    city => city2,
    count => 2
  ],
  ...
]

假設(shè)結(jié)果保存在$rs變量里,使用php處理一下:

$user = [];foreach ($rs as $row) {    $name = $row['username'];    $city = $row['city'];    isset($user[$name]['total']) {        $user[$name]['total'] += $row['count'];
    } else {        $user[$name]['total'] = $row['count'];
    }    $user[$name]['detail'][$city] = $row['count'];
}

當(dāng)然這是按我自己喜歡的結(jié)構(gòu)存的,你也可以修改成你喜歡的結(jié)構(gòu)。出來的結(jié)果如下(簡寫):

[  user1 => [    total => 3,
    detail => [      city1 => 1,
      city2 => 2,
      ...
  ],
  ...
]


查看完整回答
反對 回復(fù) 2023-04-17
?
哈士奇WWW

TA貢獻1799條經(jīng)驗 獲得超6個贊

select
username,
count(*),
(select count(*) from user where username = a.username and city = '北京'),
(select count(*) from user where username = a.username and city = '上海')
from user a
group by username

如果城市很多的話,先select username,city,count(*) from user group by username,city查出每個人在每個城市中的人數(shù),然后對結(jié)果集進行遍歷統(tǒng)計


查看完整回答
反對 回復(fù) 2023-04-17
  • 2 回答
  • 0 關(guān)注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號