mysql group by获取第一组数据
2017-12-07 17:30
183 查看
mysql group by获取第一组数据的sql
SELECT
h_m_r_r.*, o.`short_name`
FROM
house_meter_reading_record h_m_r_r,
`options` o
WHERE
o.id = h_m_r_r.type
AND h_m_r_r.id IN (
SELECT
SUBSTRING_INDEX(
GROUP_CONCAT(
h_m_r_r.id
ORDER BY
h_m_r_r.create_time DESC
),
',',
1
)
FROM
house_meter_reading_record h_m_r_r,
`options` o
WHERE
h_m_r_r.house_id = ?
AND h_m_r_r.flag = 0
AND o.id = h_m_r_r.type
GROUP BY
type
)
原理就是 用子查询 id order by 最新的时间 , 然后拼接id,然后用substring_index拿第一个id(这个id就是第一组数据的id) 然后用外面的嵌套 in查询查里面的id的集合
SELECT
h_m_r_r.*, o.`short_name`
FROM
house_meter_reading_record h_m_r_r,
`options` o
WHERE
o.id = h_m_r_r.type
AND h_m_r_r.id IN (
SELECT
SUBSTRING_INDEX(
GROUP_CONCAT(
h_m_r_r.id
ORDER BY
h_m_r_r.create_time DESC
),
',',
1
)
FROM
house_meter_reading_record h_m_r_r,
`options` o
WHERE
h_m_r_r.house_id = ?
AND h_m_r_r.flag = 0
AND o.id = h_m_r_r.type
GROUP BY
type
)
原理就是 用子查询 id order by 最新的时间 , 然后拼接id,然后用substring_index拿第一个id(这个id就是第一组数据的id) 然后用外面的嵌套 in查询查里面的id的集合
相关文章推荐
- 索引(Index)是帮助MySQL高效获取数据的数据结构。
- mysql插入数据,获取最新插入的ID(自增列)
- 怎么获取mysql中某一字段数据的后几位?(SUBSTRING)
- mysql 获取某个时间段每一天的统计数据
- JSP 连接 MySQL 数据库&获取数据库数据
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
- MYSQL中GROUP BY进行数据统计
- MySQL随机获取数据的方法,支持大数据量
- mysql 获取某个时间段每一天、每一个小时的统计数据
- mysql 获取本周 本月所属数据
- MySQL---数据库从入门走向大神系列(十一)-Java获取数据库/结果集的元信息、将数据表写入excel表格
- mysql中获取varchar类型数据的最大值
- MySql中使用日期函数获取昨天的数据
- mysql中group by分组后查询无数据补0;
- PHP获取mysql数据表的字段名称和详细信息的方法
- java 把string数据转换成date数据存入mysql的问题,如何获取当前时间date存入数据库
- mysql实现分组排序,获取第N条数据
- mysql获取随机数据的一个纳闷的问题
- Mysql获取本周、上周、本月、上个月数据的写法
- MySQL随机获取一条数据