2013第49周二要轉變

2021-09-06 12:56:41 字數 1701 閱讀 5518

2013第49周二要轉變

今天中午考慮了很多,關於寫隨筆方便我應該注意以下兩點:

1.注意排版,寫的任何東西都要注意排版,就如同人要注意形象。   

2.要注意突出重點,寫的東西最重要還是自己要看,突出重點也有利於自己後期閱讀,同時可敦促自己不要應付。

自我感覺今天開發效率還可以,下午又開始了乙個新模組的開發,並已完成sql語句和dao層部分,其中用到了mysql語句的union和order by 關鍵字

mysql union要求:兩次查詢的列數必須一致

推薦:列的型別可以不一樣,但推薦查詢的每一列,想對應的型別一樣

可以來自多張表的資料:多次sql語句取出的列名可以不一致,此時以第乙個sql語句的列名為準。

如果不同的語句中取出的行,有完全相同(這裡表示的是每個列的值都相同),那麼union會將相同的行合併,最終只保留一行。也可以這樣理解,union會去掉重複的行。

如果不想去掉重複的行,可以使用union all。

如果子句中有order by,limit,需用括號()包起來。推薦放到所有子句之後,即對最終合併的結果來排序或篩選。

如:(select * from a order by id) union (select * from b order id);

在子句中,order by 需要配合limit使用才有意義。如果不配合limit使用,會被語法分析器優化分析時去除。

select * from test1 where name like 'a%' order by name

union

select * from test1 where name like 'b%' order by name

應改為:

select * from test1 where name like 'a%'

union

select * from test1 where name like 'b%' order by name

因為union中,在不用括號的情況下,只能用乙個order by(想一想,如果union兩邊的order by的列名不一樣會怎麼樣),這會對union後的結果集進行排序

或者改為:

(select * from test1 where name like 'a%' order by name)

union

(select * from test1 where name like 'b%' order by name)

這兩個order by在union前進行

select * from test1 where name like 'a%' limit 10

union

select * from test1 where name like 'b%' limit 20

相當於(select * from test1 where name like 'a%' limit 10)

union

(select * from test1 where name like 'b%') limit 20

即後乙個limit作用於的是union後的結果集,而不是union後的select

也可以加括號來得到你想要的結果

(select * from test1 where name like 'a%' limit 10)

union

(select * from test1 where name like 'b%' limit 20)

2013第52周二開發記

2013第52周二開發記 今天嘗試了限定自己在每個時段完成對應開發任務的方法,雖然總是不能在規定時間內完成原來自己預計的任務,但感覺效率高些,明切更深刻的體會到現實與理想的差距。現在記錄下開發中遇到的幾個問題 1.url中文編碼亂碼問題 昨晚還奇怪為什麼有些包含中文的url在我電腦的tomcat環境...

第41周二國慶總結

7號下午國慶的最後一天,不情願但假期還是過完了。總結下國慶假期幾個關鍵回憶 旅遊,看房,快遞,電影,睡覺,吃,玩,上進心。一 旅遊 假期旅遊是大部分人的安排,也正因如此好多景點都是人山人海,假期這幾天就2號準備3號去紹興玩了大半天,去了魯迅故居 沈園,東湖,蘭亭幾個地方,人很多,景點也是見面不如聞名...

2023年第44周二系統整合專案管理工程師備考

今天晚上做了系統整合專案管理師專案管理部分前面幾章的題目,很多錯的,感覺裡面知識點很多,自己原來的自大囂張情緒完全沒了,慶幸當初報了中級而沒有報高階,沒有了 可能會相對輕鬆些,但案例分析和計算題依舊讓我頭疼,但我不能放棄,雖然考試涉及到的內容知識點很多。我決定在離考試前的10天左右時間裡,我要持續的...