聯合查詢union注意事項

2021-10-23 04:14:26 字數 1321 閱讀 3579

select * from   (select id,gdname,restricted_purchase,original_price,price,pic,text,seckill,seckill_start,seckill_end,roof_placement,number from yh_goods 

where

seckill_start<= '1586241657'

and seckill_end >= '1586241657'

and `del` = 0

and `status` = 1

and `seckill` = 1

and `roof_placement` = 1

order by roof_placement asc,update_time desc limit 9999999999) as a

union

(select id,gdname,restricted_purchase,original_price,price,pic,text,seckill,seckill_start,seckill_end,roof_placement,number from yh_goods

where

seckill_start<= '1586241657'

and seckill_end >= '1586241657'

and `del` = 0

and `status` = 1

and `seckill` = 1

and `roof_placement` != 1

order by seckill_end asc,create_time desc limit 9999999999) as b

union

(select id,gdname,restricted_purchase,original_price,price,pic,text,seckill,seckill_start,seckill_end,roof_placement,number from yh_goods

where

`del` = 0

and `status` = 1

and `seckill` = 1

order by seckill_end desc,create_time desc limit 9999999999

) limit 0,20

1、在使用union的子查詢的時候只能給第乙個取別名  其他的取別名會報語法錯誤

2、在子查詢排序的時候  如果不寫limit的話會過濾掉排序  因為寫上limit 9999999方可解決

Mysql 建立聯合索引注意事項

當乙個表有多條索引可走時,mysql 根據查詢語句的成本來選擇走哪條索引,聯合索引的話,它往往計算的是第乙個字段 最左邊那個 這樣往往會走錯索引.如 索引index 1 create time,category id index 2 category id 如果每天的資料都特別多,而且有很多cate...

模糊查詢 注意事項

1.動態查詢語句 2.sql中佔位符不能在單引號中,否則,會以?進行查詢資料 3.sql中不能使用加號進行字串拼接,加號是用來做運算的 d 4.mybatis進行拼串,拼串會出現 sql 注入情況 例如 or 1 1 5.使用內建方法進行拼串 concat 6.查詢條件值本身為 查詢出所有的資料 c...

ibatis查詢bug 注意事項

ibatis判斷使用者名稱已被註冊功能實現 1.注意這裡id 設定為integer 因為當資料庫中沒有這條記錄時候返回null,如果對int型的id 進行判斷,會報錯。integer id integer sqlmapclient.queryforobject user.isusernameexis...