mysql 连续记录查询?

mysql 连续记录查询?,第1张

最近遇到一个业务需求, 需要查找满足条件且连续3出现条以上的记录。

表结构:

CREATE TABLE `cdb_labels` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`type` int(11) NOT NULL DEFAULT '0' COMMENT '标签类型:1喜欢异性类型,2擅长话题',

`content` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '标签内容',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='标签内容'

1

2

3

4

5

6

7

8

所有数据: SELECT * FROM cdb_labels WHERE type = 1

可以用 CONCAT把查询语言与变量连接起来再执行,参考如下代码。

DELIMITER //

CREATE PROCEDURE GetItems()

BEGIN

SELECT @total := count(id) FROM items

SET @sql = CONCAT('SELECT id, title FROM items LIMIT 0,', CEIL(@toal/2))

PREPARE stmt FROM @sql

EXECUTE stmt

END //

DELIMITER

希望这个思路对你有帮助,可以将limit后面设置为变量!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8610596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存