最新回答 / EternalSun_0
你們不看題目嗎 mysql開發(fā)技巧 把數(shù)據(jù)查出來 再處理不使用別的語言了嗎
說一個(gè)思路:
如果偏要在sql中執(zhí)行
可以考慮分割字符然后比較有相同的就刪除掉然后再更新表,可能速度上會(huì)很慢
如果偏要在sql中執(zhí)行
可以考慮分割字符然后比較有相同的就刪除掉然后再更新表,可能速度上會(huì)很慢
2017-03-19
其實(shí)獲得當(dāng)前日期的年月日時(shí)分秒+6位隨機(jī)流水號(hào)即可,這樣基本不會(huì)重復(fù)
就不用判斷插入值的大小啦,只獲取年月日+3位數(shù)還得判斷一下,當(dāng)然如果考慮數(shù)據(jù)庫存儲(chǔ)和讀取效率另說啦
就不用判斷插入值的大小啦,只獲取年月日+3位數(shù)還得判斷一下,當(dāng)然如果考慮數(shù)據(jù)庫存儲(chǔ)和讀取效率另說啦
2017-03-19
最好加上else ,防止空值
SELECT
sum(CASE WHEN use_name = "沙僧"
THEN b.kills
ELSE 0 END) AS '沙僧',
sum(CASE WHEN use_name = "豬八戒"
THEN b.kills
ELSE 0 END) AS '豬八戒'
FROM im_user AS a
INNER JOIN im_kill AS b ON b.user_id = a.id;
SELECT
sum(CASE WHEN use_name = "沙僧"
THEN b.kills
ELSE 0 END) AS '沙僧',
sum(CASE WHEN use_name = "豬八戒"
THEN b.kills
ELSE 0 END) AS '豬八戒'
FROM im_user AS a
INNER JOIN im_kill AS b ON b.user_id = a.id;
2017-03-19
已采納回答 / 慕沐5941855
不清楚你的表結(jié)構(gòu)是什么,所以很難去說哪里出錯(cuò)了。但是用數(shù)據(jù)庫最好還是少用函數(shù),這樣的話性能會(huì)大大的提高,盡量把函數(shù)的方法用代碼解決
UPDATE order_seq SET order_sn = order_sn + v_cnt WHERE timestr = v_timestr;
IF ROW_COUNT() = 0 THEN
INSERT INTO order_seq(timestr,order_sn) VALUES(v_timestr,v_cnt);
END IF;
SELECT CONCAT(v_timestr,LPAD(order_sn,7,0))AS order_sn
FROM order_seq WHERE timestr = v_timestr;
COMMIT;
IF ROW_COUNT() = 0 THEN
INSERT INTO order_seq(timestr,order_sn) VALUES(v_timestr,v_cnt);
END IF;
SELECT CONCAT(v_timestr,LPAD(order_sn,7,0))AS order_sn
FROM order_seq WHERE timestr = v_timestr;
COMMIT;
2017-01-07