您的位置:首页 > 数据库

使用变量分组的sql : 排序后再分组,取分组的第一个

2016-03-21 12:24 302 查看
使用变量分组的sql,

排序后再分组,取分组的第一个

SELECT result.*,ta.`name` AS tagName,com.`abbr` FROM (
SELECT
a.*,
@rownum := @rownum + 1,
IF(
@tempAppId = a.app_id,
@dataRank := @dataRank + 1,
@dataRank := 1
) AS dataRank,
@tempAppId := a.app_id
FROM
(SELECT * FROM tab1 t ORDER BY t.app_id, t.`stat_date` DESC) a,
(SELECT @rownum :=0,@tempAppId:=NULL) b
) result
LEFT JOIN tab2 ta ON ta.`id` = result.`app_id`
LEFT JOIN tab3 com ON com.`id` = result.`devlop_company_id`
WHERE result.dataRank =1
AND(
result.`app_name` LIKE CONCAT('%跑%' )
OR result.`cate_name` LIKE CONCAT('%跑%' )
OR com.`abbr` LIKE CONCAT('%跑%' )
OR ta.`name` LIKE CONCAT('%跑%' )
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: