求助:mysql查询问题 想把一个查询的结果 作为第二个查询的条件 两个结合写一条mysql 类似子查询 下面直接贴代码

lyd_dream 2018-08-14 11:01:10
SELECT
gji_start AS `start`,
gji_end AS `end`
FROM
nct_gj_line_alarm_interval
WHERE
gji_lid = 1


SELECT
SUM(gjs_score),gjs_vl as `level`
FROM
nct_gj_line_alarm_sub
WHERE
gjs_mileage >= 100 and gjs_mileage < 200
GROUP BY gjs_vl
ORDER BY gjs_score




想要一条sql语句得到 每个区间start end 每个level 的分数 求帮忙。。

...全文
645 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyd_dream 2018-10-25
  • 打赏
  • 举报
回复
引用 3 楼 cw_9312 的回复:

SELECT
SUM(a.gjs_score) as score,
a.gjs_vl,
b.gji_start,
b.gji_end
FROM
nct_gj_line_alarm_sub a
JOIN nct_gj_line_alarm_interval b ON b.gji_lid = 1
AND a.gjs_mileage >= b.gji_start and
a.gjs_mileage < b.gji_end
GROUP BY
b.gji_start,
b.gji_end,
a.gjs_vl
ORDER BY
b.gji_end,
a.gjs_vl




正解 谢谢 不小心看错了,以为你是复制2L然后格式化代码 所以没给你全分 [抱歉]
木子0204 2018-08-31
  • 打赏
  • 举报
回复
引用 3 楼 cw_9312 的回复:

SELECT
SUM(a.gjs_score) as score,
a.gjs_vl,
b.gji_start,
b.gji_end
FROM
nct_gj_line_alarm_sub a
JOIN nct_gj_line_alarm_interval b ON b.gji_lid = 1
AND a.gjs_mileage >= b.gji_start and
a.gjs_mileage < b.gji_end
GROUP BY
b.gji_start,
b.gji_end,
a.gjs_vl
ORDER BY
b.gji_end,
a.gjs_vl







ITVin 2018-08-28
  • 打赏
  • 举报
回复

SELECT
SUM(a.gjs_score) as score,
a.gjs_vl,
b.gji_start,
b.gji_end
FROM
nct_gj_line_alarm_sub a
JOIN nct_gj_line_alarm_interval b ON b.gji_lid = 1
AND a.gjs_mileage >= b.gji_start and
a.gjs_mileage < b.gji_end
GROUP BY
b.gji_start,
b.gji_end,
a.gjs_vl
ORDER BY
b.gji_end,
a.gjs_vl

牛尚小又何妨 2018-08-28
  • 打赏
  • 举报
回复
select SUM(a.gjs_score),b.gjs_mileage,b.gji_end,a.gjs_vl from nct_gj_line_alarm_sub a join nct_gj_line_alarm_interval b on b.gji_lid=1 and a.gjs_mileage>=b.gji_start,a.gjs_mileage<gji_end
group by b.gjs_mileage,b.gji_end,a.gjs_vl
order by b.gjs_mileage,b.gji_end,a.gjs_vl


56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧