mysql查询时取多条记录中最大时间的记录

    在查询的过程中,有时库里单个用户的数据往往会存在很多条,当我们需要查询出用户的一条数据时(最大时间对应记录或最小时间对应记录)往往要写很复杂的子查询,而其实通过一个简单的方法就可以查询。

    就是使用concat函数,就可以非常简单的查询出相应的记录。

SELECT
	uuid(),
	phone_no,
  date_time
FROM
	TABLE
WHERE
	CONCAT(phone_no, date_time) IN (
		SELECT
			CONCAT(
				phone_no,
				min(date_time)
			)
		FROM
			TABLE
		WHERE
			phone_no IS NOT NULL
		GROUP BY
			phone_no
	)
AND phone_no IS NOT NULL
GROUP BY
	phone_no;


你可能感兴趣的:(SQL)