記錄一次比較查詢,需求是比較內容是否一次比一次高,用來作為標籤依據
大致問題如下 簡化:
班級中有若干人,若干次考試。需要查詢某人在考試時成績越來越好(分數是每次都有增長)
思路:1。使用group by 分組, 然後在查詢內容使用 group_concat(【成績字段】 order by 【時間或者自增長id】) 查詢出每次按時間順序考試的成績 拼接,
2。使用group by 分組, 然後在查詢內容使用 group_concat(【成績字段】 order by 【成績字段】) 查詢出按成績大小 排序的 內容。
join 上去。
再用 查詢出來的內容比較 是否相同。如果相同。那麼就說明 這個人的成績每次都有提公升。
具體sql 如下:
建立表結構:
create table `t_stock` (
`id` int(11) not null auto_increment comment '主鍵',
`stock_id` varchar(11) default null comment '****',
`stock_name` varchar(20) default null comment '**名稱',
`sell_amount` double default null comment '主動**統計金額',
`buy_amount` double default null comment '主動購買金額',
`unknow_amount` double default null comment '未知動向金額',
`market_time` timestamp not null default current_timestamp on update current_timestamp comment '交易時間',
`create_time` timestamp not null default '0000-00-00 00:00:00' comment '建立時間',
`data_amount` double default null comment '今日****',
`big_sell_amount` double default null comment '主動**統計大單金額',
`big_buy_amount` double default null comment '主動購買大單金額',
primary key (`id`),
key `stock_id` (`stock_id`) using btree
) engine=innodb auto_increment=44248 default charset=utf8 comment='記錄每天某些**的交意記錄為以後提供參考';
大致查詢sql:
select * from (
select group_concat((buy_amount+sell_amount) order by buy_amount+sell_amount) hl,stock_id , stock_name ,
substring_index(group_concat(data_amount order by id),',',1) from t_stock group by stock_id
)aajoin
(select group_concat((buy_amount+sell_amount) order by id) idhl,stock_id , stock_name ,
substring_index(group_concat(data_amount order by id),',',1) from t_stock group by stock_id
)bbon aa.stock_id = bb.stock_id
where aa.hl=bb.idhl
應該還能優化,暫時先想到這種,記錄一下
查詢淨值連續增長天數
sql查詢連續增長天數 這裡寫了乙個查詢淨值連續增長天數的方法,跟大家分享 表結構示例 表t hangqingbiao,存放 產品號,日期,累計淨值 三個字段 查詢每個產品號的累計淨值連續增長的天數 with tmp grow as select a.c fundcode,a.d date,case...
MySQL查詢連續幾天的資料
1.按照日期排序,使用rank 函式得到排位值 select userid,date rank over partition by userid order by date rk from tablea 2.用日期減去排位值rk得到新的日期,記作new date.new date相同則為連續 舉個栗...
mysql 插入資料失敗防止自增長主鍵增長的方法
mysql設定了自增長主鍵id,插入失敗的那個自增長id也加一的,比如失敗5個,下乙個成功的不是在原來最後成功資料加1,而是直接變成加6了,失敗次數一次就自動增長1了,能不能讓失敗的不增長的?或者說mysql插入資料失敗,怎麼能防止主鍵增長?mysql不保證auto increment依次增長 1,...