假設是學生退出登錄時在t1表刪除數(shù)據(jù)

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供堆龍德慶企業(yè)網(wǎng)站建設,專注與網(wǎng)站建設、網(wǎng)站制作、成都h5網(wǎng)站建設、小程序制作等業(yè)務。10年已為堆龍德慶眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。
假設id各為兩個表的主鍵
select
*
from
t2
where
id
not
in
(select
id
from
t1)
結(jié)果集是t2表中id不在t1表的數(shù)據(jù)
先貼出來我的腳本:
#/bin/bash
User="test"
Pass="123456"
Hos="192.168.133.167"
Da=`date `
record_path="/tmp/daily_r.txt"
MYSQL="/usr/mysql/bin/mysql"
echo "采集速度時間間隔超過半天即為不正常" $record_path
$MYSQL -u$User -p$Pass -h$Hos -e "select TIMESTAMPDIFF(second, createtime, pubdate) as '相差秒數(shù)',createtime,pubdate,keyword_tx from adresource_test.tbl_newscontent_test order by d_id desc limit 1\G;" $record_path
然后我解釋下腳本含義,首先我這個腳本是統(tǒng)計我adresource_test 表中的關于新聞內(nèi)容的一個采集時間一個入庫時間的差值,就此來判斷我的數(shù)據(jù)入庫程序正常與否。
User是數(shù)據(jù)庫用戶名,Pass 是數(shù)據(jù)庫密碼 Hos是數(shù)據(jù)庫地址Da 是我要記錄一個日期,比對當前日期,也相當于留個日志 record_path 日志記錄位置
MYSQL是mysql的bin目錄,防止命令找不到。
3
計算tbl_test 表中的兩個字段一個是發(fā)布時間一個是創(chuàng)建時間,使用變量TIMESTAMPDIFF 來計算二者的差值,
creattime - pubdate。minute的意思是以分鐘來做結(jié)果單位,limit 2 是兩條記錄
這個結(jié)果要從第一個開始嗎?那樣就有點復雜了。這個行不行,結(jié)果是從第二行開始的:
mysql?set?@last_id?:=?-1;
Query?OK,?0?rows?affected?(0.00?sec)
mysql?select?id,?A,?B,?result
-?from
-?(
-?????select
-?????????table1.*,
-?????????@last_id,
-?????????if(@last_id??0,?null,?id?-?@last_id)?as?result,
-?????????@last_id?:=?id
-?????from
-?????????table1
-?)?as?tmp
-?;
+----+------+------+--------+
|?id?|?A????|?B????|?result?|
+----+------+------+--------+
|??1?|????2?|????1?|???NULL?|
|?21?|????1?|????1?|?????20?|
|?33?|????3?|????2?|?????12?|
+----+------+------+--------+
3?rows?in?set?(0.00?sec)
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
返回日期或日期時間表達式datetime_expr1?和datetime_expr2the?之間的整數(shù)差。
其結(jié)果的單位由interval?參數(shù)給出。該參數(shù)必須是以下值的其中一個:
FRAC_SECOND?表示間隔是毫秒
SECOND??秒
MINUTE??分鐘
HOUR??小時
DAY??天
WEEK??星期
MONTH??月
QUARTER??季度
YEAR??年
SELECT?'年'??AS??`日期部分`,??TIMESTAMPDIFF(YEAR,?'2012-12-21',??CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'季度'??AS??`日期部分`,??TIMESTAMPDIFF(QUARTER,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'月'??AS??`日期部分`,??TIMESTAMPDIFF(MONTH,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'日'??AS??`日期部分`,??TIMESTAMPDIFF(DAY,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'周'??AS??`日期部分`,???TIMESTAMPDIFF(WEEK,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'時'??AS??`日期部分`,???TIMESTAMPDIFF(HOUR,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'分'??AS??`日期部分`,???TIMESTAMPDIFF(MINUTE,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
UNION?ALL
SELECT?'秒'??AS??`日期部分`,???TIMESTAMPDIFF(SECOND,?'2012-12-21',?CURRENT_TIMESTAMP())?AS?`數(shù)值`
;
+----------+----------+
|?日期部分?|?數(shù)值?????|
+----------+----------+
|?年???????|????????1?|
|?季度?????|????????4?|
|?月???????|???????12?|
|?日???????|??????388?|
|?周???????|???????55?|
|?時???????|?????9328?|
|?分???????|???559737?|
|?秒???????|?33584279?|
+----------+----------+
8?rows?in?set?(0.00?sec)
mysql?select?CURRENT_TIMESTAMP();
+---------------------+
|?CURRENT_TIMESTAMP()?|
+---------------------+
|?2014-01-13?16:58:17?|
+---------------------+
1?row?in?set?(0.00?sec)
delimiter //
create trigger trigger1 after update on B for each row
begin
declare sl int;
set sl=NEW.退貨數(shù)量;
update A set 數(shù)量=數(shù)量-sl;
end //
方法挺多的,很多是采用排序直接對等連接,這樣對于主鍵聚集索引比較快的。
----
我提供的不是排序?qū)Φ?/p>
方式,而是大范圍連接檢索最小距離的方式。
SELECT
A.FID,A.Fnum,MIN(A.Fid-B.Fid)
as
差值
FROM
test.cte
A
INNER
JOIN
test.cte
B
on(A.FIDB.FID)
GROUP
BY
A.FID,A.Fnum
ORDER
BY
A.Fid
Desc
---
執(zhí)行結(jié)果:
FID
Fnum
差值
-------------------------
'9323',
'10',
'14'
'9309',
'10',
'1'
'9308',
'10',
'47'
'9261',
'10',
'31'
'9230',
'10',
'23'
'9207',
'10',
'16'
'9191',
'10',
'26'
'9165',
'10',
'14'
當前標題:mysql兩個數(shù)值怎么求差 表格怎么求兩個數(shù)的差
本文鏈接:http://www.chinadenli.net/article0/doddeio.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站策劃、搜索引擎優(yōu)化、標簽優(yōu)化、品牌網(wǎng)站設計、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)