我有一个MySQL数据库,我可以在其中检索id和web地址。所有的webadresses都有一个类似的结构:www.aaa.com/main/sub/name
我有一个while循环,会将网址分成main
,sub
和name
,我想为每个ID添加“id”,“main”,“sub”并将“命名”为一个数组,然后先对其进行排序,首先在main
,然后sub
,然后name
,以便我有:
Id Main Sub Name
1 Ford Transit blue
2 Ford Transit red
3 Subaru Impreza green
4 Subaru whatever blue
到目前为止,这是我的代码:
$total_array = array();
$i=0;
while ($i < $num) {
$id = mysql_result($result,$i,"id");
$adress = mysql_result($result,$i,"address");
$temp = explode("/", $adress);
$car = temp[3];
$make= temp[4];
$color = temp[5];
array_push($total_array,"$id","$car","$make","$color");
$i++;
}
/* SOME ARRAY SORTING */
print_r($total_array);
但我无法弄清楚如何对它们进行排序,我试图为每一列找到一个名称,但我无法弄清楚如何做到这一点。
答案 0 :(得分:0)
SELECT
l.PersonName,
cl.CityName,
COALESCE((SELECT COUNT(1)
FROM #CityList cl2
LEFT JOIN #A_LogFile l2
ON cl2.CityName = l2.CityName
WHERE cl2.cityName = cl.CityName
AND l2.PersonName = l.PersonName
GROUP BY l2.PersonName, cl2.CityName
), 0)
AS 'Total Visits'
FROM #A_LogFile l
CROSS APPLY #CityList cl
GROUP BY l.PersonName, cl.CityName
ORDER BY PersonName, CityName
这就是你想要的吗?