mysql 如何为有相同属性记录,根据时间的排序,给表或者查询结果添加一个自增长字段
先上个示例表吧。namedeparttimeappleshop2013-3-15bananafactory2013-3-19catshop2013-3-19dogshop...
先上个示例表吧。
name depart time
apple shop 2013-3-15
banana factory 2013-3-19
cat shop 2013-3-19
dog shop 2013-3-11
egg factory 2013-3-17
……
………………
想得到的结果是
name depart time noid
dog shop 2013-3-11 1
apple shop 2013-3-15 2
cat shop 2013-3-19 3
egg factory 2013-3-17 1
banana factory 2013-3-19 2
…………
………………
根据的就是part这个来为一组,然后时间先后,加一个noid来排序
这里我只是举例,事实会有很多的不同的depart,每个depart又有那多人,实际的时间精度是满足比较要求的。
最好是sql语句查询,php脚本也行。 展开
name depart time
apple shop 2013-3-15
banana factory 2013-3-19
cat shop 2013-3-19
dog shop 2013-3-11
egg factory 2013-3-17
……
………………
想得到的结果是
name depart time noid
dog shop 2013-3-11 1
apple shop 2013-3-15 2
cat shop 2013-3-19 3
egg factory 2013-3-17 1
banana factory 2013-3-19 2
…………
………………
根据的就是part这个来为一组,然后时间先后,加一个noid来排序
这里我只是举例,事实会有很多的不同的depart,每个depart又有那多人,实际的时间精度是满足比较要求的。
最好是sql语句查询,php脚本也行。 展开
展开全部
你可以select * from table order by depart desc, time就行了,但是mysql做不到自动追加那个noid,noid你可以在遍历数据的时候添加,例(针对如上sql)
$depart = false;
$index = 0;
foreach ($rows as $key => $row) {
if($row['depart'] != $depart) {
$depart = $row['depart'];
$index = 0;
}
$index ++;
$rows[$key]['noid'] = $index;
}
$depart = false;
$index = 0;
foreach ($rows as $key => $row) {
if($row['depart'] != $depart) {
$depart = $row['depart'];
$index = 0;
}
$index ++;
$rows[$key]['noid'] = $index;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的没找到说个屁啊,我这个我学过,我回去查查,记得追问我,不然我就忘了
追问
麻烦大神贴出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少得很,我也没找到,抱歉!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询