$sql = 'SELECT e.*,ac.* '.
'FROM ' .$GLOBALS['ecs']->table('sell'). ' AS e '.
'LEFT JOIN ' .$GLOBALS['ecs']->table('sell_message'). ' AS ac ON ac.sell_id = e.sell_id '.
'WHERE 1 ' .$where.
' group by ac.sell_id '.
' ORDER by '.$filter['sort_by'].' '.$filter['sort_order'];
这段语句可以正常查找出我需要的内容,但是现在得问题是,我想按照 table('sell_message')中的字段is_open的值是1的数量多少也就是is_open=1的数量多少排序!排序!
求帮助解答,谢谢!
'FROM ' .$GLOBALS['ecs']->table('sell'). ' AS e '.
'LEFT JOIN ' .$GLOBALS['ecs']->table('sell_message'). ' AS ac ON ac.sell_id = e.sell_id '.
'WHERE 1 ' .$where.
' group by ac.sell_id '.
' ORDER by '.$filter['sort_by'].' '.$filter['sort_order'];
这段语句可以正常查找出我需要的内容,但是现在得问题是,我想按照 table('sell_message')中的字段is_open的值是1的数量多少也就是is_open=1的数量多少排序!排序!
求帮助解答,谢谢!
换成 group by ac.is_open
试试
table('sell_message'),是用来记录信息回复的的表,is_open=1,表示这条回复就显示,=0就不显示,每个信息有N条记录,现在就是要按照每条信息新回复(也就是is_open=0)数量的多少来排序
order by sum(if(ac.is_open=1,1,0))
不会有语法错,会有结果,但不一定符合你的需要
最近网站上数据越来越多 联表查询很吃力 我全换成这种了.. 用PHP来分析第一个查询结果,组合成字符串来进行第二次查询. 目前载入速度提高了很多搭车求问这样做会引起其他问题吗?@xuzuning